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

	TITLE	.\engine.cpp
	.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS	ENDS
$$SYMBOLS	SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS	ENDS
$$TYPES	SEGMENT BYTE USE32 'DEBTYP'
$$TYPES	ENDS
_TLS	SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS	ENDS
;	COMDAT ??_C@_05FAECCOPD@DUMMY?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_04OHJIHAFH@None?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_09IGNDJJLI@Explosive?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@HNNKEAKD@Is_PowerPlant?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BC@BJIJEBBO@Is_SoldierFactory?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@FDGOOIDO@Is_Airstrip?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@LDEDDJBA@Is_WarFactory?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@IGHPANDI@Is_Refinery?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@HDCIACDB@Is_ComCenter?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@HCJJACKE@Is_RepairBay?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07BMODAHHB@Is_Door?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@PAGNNLL@Is_Elevator?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@MILEOEOM@Is_DamageableStaticPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BC@FHHCMIE@Is_AccessablePhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BC@CGMCEOPL@Is_DecorationPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@IIDKGMMK@Is_HumanPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BA@NMEMOAAA@Is_MotorVehicle?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_08INKCDJHE@Is_Phys3?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@JIBAJJLF@Is_RigidBody?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@IDFOMLA@Is_ShakeableStatricPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BC@BNMPKHKP@Is_StaticAnimPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@PMHLNCPL@Is_StaticPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@OPGDFLJA@Is_TimedDecorationPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@DPJMCENA@Is_VehiclePhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@JPEOMMEF@Is_DynamicAnimPhys?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@LGMFACPH@Is_BuildingAggregate?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@IEFMGMKP@Is_Projectile?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_05PGGAFPFO@Death?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@PCENNPGA@?$CFd?4?$CFd?4?$CFd?4?$CFd?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_03KPGLNNAM@WOL?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_03BANLECBK@LAN?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@FOCHHKCH@?$CFd?4?$CFd?4?$CFd?4?$CFd?$DL?$CFd?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_09MJONCACI@No?5String?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_1BE@PJAIDCO@?$AAN?$AAo?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07GJJCKENN@Neutral?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_1BA@KOPEKOGK@?$AAV?$AAe?$AAh?$AAi?$AAc?$AAl?$AAe?$AA?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_04CGFJFPFD@none?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_01CLKCMJKC@?5?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@GBFBBODN@GDI_Engineer_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@GBCNGBOM@Nod_Engineer_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0L@CAEDLCPF@message?5?$CFs?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0L@HLJNJAMO@RGHProtect?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_06OMDHIKNA@?$CFs?0?5?$CFs?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_03BEOHKAMK@?$CFs?4?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@LMKOHBPH@BeaconRepair?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@IMCLKPKF@Proximity_C4?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@FIEOIAAI@POW_Armor_050?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@CAHGGCMI@POW_Armor_025?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BA@DECLIAFK@KAK_Drop_Weapon?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@OOFMGFNC@Weapon_Chaingun_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@CCNLHBNH@POW_Chaingun_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CC@IFFCOGHO@CnC_Weapon_SniperRifle_Player_No@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@FHJCOGNO@Weapon_SniperRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@FOAOBLNN@Weapon_SniperRifle_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@BEJOHP@CnC_Weapon_RamjetRifle_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@ODCNJPGC@Weapon_Flamethrower_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CB@EPHIGEJG@CnC_Weapon_RocketLauncher_Player@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@IDCCMNDN@Weapon_ChemSprayer_Player?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@IDENJGFF@Weapon_VoltAutoRifle_Player_Nod?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0O@DDKDPCDL@Self_Destruct?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@DOAGEOAC@CnC_GDI_MiniGunner_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@OGHPPNHJ@CnC_GDI_RocketSoldier_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BE@DONKOEGE@CnC_GDI_Grenadier_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@DEFNPFMD@CnC_GDI_Engineer_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@FPHAJIG@CnC_GDI_MiniGunner_1Off?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@LLGCLKAM@CnC_GDI_RocketSoldier_1Off?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0L@EGFPOOHM@CnC_Sydney?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@MBICIAPC@CnC_GDI_MiniGunner_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@FPCBBKIA@CnC_GDI_RocketSoldier_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BG@MECGAGPJ@CnC_GDI_Grenadier_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@PPCFPGNB@CnC_GDI_MiniGunner_3Boss_ALT2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@OGDOMHJA@CnC_GDI_MiniGunner_3Boss_ALT3?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@KJHPFBFH@CnC_GDI_MiniGunner_3Boss_ALT4?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@NCHBLAIC@CnC_GDI_MiniGunner_3Boss?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@EFLLEGCI@CnC_Sydney_PowerSuit_ALT2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@HCCCIBHA@CnC_Sydney_PowerSuit?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@FLDDOONJ@CnC_Ignatio_Mobius_ALT2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@CMAELMFM@CnC_Ignatio_Mobius?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@EPNAAGKC@CnC_GDI_Engineer_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@DMFNIKGO@CnC_Nod_RocketSoldier_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@CPEKHDKF@CnC_Nod_FlameThrower_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BD@DECBIKBC@CnC_Nod_Engineer_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@MHOEKFGJ@CnC_Nod_Minigunner_1Off?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@BHBFKBPG@CnC_Nod_RocketSoldier_1Off?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@MMECAHHH@CnC_Nod_FlameThrower_1Off?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BH@FNBMIEO@CnC_Nod_Minigunner_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@JEMDKAKL@CnC_Nod_RocketSoldier_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@HIKMPHIB@CnC_Nod_FlameThrower_2SF?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BO@CACBCPHO@CnC_Nod_MiniGunner_3Boss_ALT2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@OCAGFMMH@CnC_Nod_Minigunner_3Boss?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CB@NHIENBOK@CnC_Nod_RocketSoldier_3Boss_ALT2@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BM@ICGGCDBG@CnC_Nod_RocketSoldier_3Boss?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@CKAJJBGL@CnC_Nod_FlameThrower_3Boss_ALT2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@BIACMHAG@CnC_Nod_FlameThrower_3Boss?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BF@OCIKBOAE@CnC_Nod_Technician_0?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT _IsEqualGUID
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _==
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _acosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceill
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modfl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _acosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceilf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modff
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetID@GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ReceiveSignal@cGameData@@UAEXAAV?$TypedEventPair@_NH@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameData@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Render@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Choose_Player_Type@cGameData@@UAEHPAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameData@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Single_Player@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Skirmish@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Cnc@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Single_Player@cGameData@@UAEPAVcGameDataSinglePlayer@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Skirmish@cGameData@@UAEPAVcGameDataSkirmish@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Cnc@cGameData@@UAEPAVcGameDataCnc@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Min_Players@cGameData@@UAEIXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Settings@cGameData@@UAE_NAAVWideStringClass@@_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_1_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_1_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_1_Data_Wol@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_2_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_2_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Gameplay_Permitted@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remember_Inventory@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameData@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameData@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataCnc@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataCnc@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataCnc@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameDataCnc@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Cnc@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Cnc@cGameDataCnc@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Settings@cGameDataCnc@@UAE_NAAVWideStringClass@@_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_2_Data@cGameDataCnc@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_2_Data@cGameDataCnc@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Gameplay_Permitted@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameDataCnc@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataCnc@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataSkirmish@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataSkirmish@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataSkirmish@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameDataSkirmish@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Skirmish@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Skirmish@cGameDataSkirmish@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameDataSkirmish@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataSkirmish@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataSinglePlayer@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataSinglePlayer@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataSinglePlayer@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Choose_Player_Type@cGameDataSinglePlayer@@UAEHPAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Single_Player@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Single_Player@cGameDataSinglePlayer@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remember_Inventory@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataSinglePlayer@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PostLoadableClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Post_Load@PostLoadableClass@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPostLoadableClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PersistClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@PersistClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@PersistClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPersistClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1EditableClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter_Count@EditableClass@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Lock_Parameter@EditableClass@@UAEPAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Unlock_Parameter@EditableClass@@UAEXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GEditableClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1DefinitionClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@DefinitionClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@DefinitionClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_ID@DefinitionClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_ID@DefinitionClass@@UAEXK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Name@DefinitionClass@@UAEPADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Name@DefinitionClass@@UAEXPAD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Config@DefinitionClass@@UAE_NPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GDefinitionClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1TeamPurchaseSettingsDefClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Factory@TeamPurchaseSettingsDefClass@@UAEPAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@TeamPurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@TeamPurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Class_ID@TeamPurchaseSettingsDefClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@TeamPurchaseSettingsDefClass@@UAEPAVPersistClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GTeamPurchaseSettingsDefClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PurchaseSettingsDefClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Factory@PurchaseSettingsDefClass@@UAEPAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@PurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@PurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Class_ID@PurchaseSettingsDefClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@PurchaseSettingsDefClass@@UAEPAVPersistClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPurchaseSettingsDefClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Console_Input@@YAXPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Console_Output@@YAXPBDZZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Player_Count@@YAHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?The_Game@@YAPAVcGameData@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?The_Skirmish_Game@@YAPAVcGameDataSkirmish@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?The_Cnc_Game@@YAPAVcGameDataCnc@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?The_Single_Player_Game@@YAPAVcGameDataSinglePlayer@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_INI@@YAPAVINIClass@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Release_INI@@YAXPAVINIClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Int@INIClass@@QAEHPBD0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Float@INIClass@@QAEMPBD0M@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Bool@INIClass@@QAE_NPBD0_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_String@INIClass@@QAEXPBD00PADH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Base@BaseControllerClass@@SAPAV1@H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Power_Base@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Base@BaseControllerClass@@QAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enable_Radar@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building@BaseControllerClass@@QAEPAEI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Uninitialised_Grow@StringClass@@QAEXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Uninitialised_Grow@WideStringClass@@QAEXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Convert_From@WideStringClass@@QAEXPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_String@WideStringClass@@QAEXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Free_String@WideStringClass@@QAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??2@YAPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_U@YAPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??3@YAXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_V@YAXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?InitEngine@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_ScriptableGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_PhysicalGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_CinematicGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_VehicleGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_SmartGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_DamageableGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_SoldierGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_ScriptZoneGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_BuildingGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Model@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Object_Type@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Object_Type@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Definition@@YAPAVDefinitionClass@@PAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Named_Definition@@YAPAVDefinitionClass@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Post_Re_Init@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_Character@@YA_NPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?WideCharToChar@@YAPBDPB_W@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Player_Name@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Player_Name_By_ID@@YAPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_Team_By_ID@@YAXHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_Team@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Player_ID@@YAJPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_GameObj@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building_By_Class_ID@@YAPAEHK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building_By_Team@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building_By_Name@@YAPAEHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Kill_All_Buildings_By_Team@@YAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_All_Buildings_By_Team@@YAXHMPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Repair_All_Buildings_By_Team@@YAXHHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Repair_All_Static_Vehicles_By_Team@@YAXHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Smart_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Non_Player_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Object_By_Preset@@YAPAEHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Power_Plant@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Refinery@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Repair_Bay@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Soldier_Factory@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Airstrip@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_War_Factory@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Vehicle_Factory@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Com_Center@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Building@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Soldier@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Vehicle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Cinematic@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_ScriptZone@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_TrackedVehicle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_VTOLVehicle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_WheeledVehicle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Motorcycle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Door@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Elevator@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_DamageableStaticPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_AccessablePhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_DecorationPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_HumanPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_MotorVehicle@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Phys3@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_RigidBody@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_ShakeableStatricPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_StaticAnimPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_StaticPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_TimedDecorationPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_VehiclePhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_DynamicAnimPhys@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_BuildingAggregate@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Projectile@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Max_Health@@YAXPAEM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Max_Shield_Strength@@YAXPAEM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_First_Player@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Animation_Frame@@YAMPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Grant_Refill@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Grant_Powerup@@YAXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Shield_Type@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Skin@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Skin@@YAXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_Vehicle@@YAXPBDMPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Toggle_Fly_Mode@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_PowerupGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_C4GameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_BeaconGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_ArmedGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_SimpleGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_PowerPlantGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_SoldierFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_VehicleFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_AirstripGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_WarFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_RefineryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_ComCenterGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_RepairBayGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Powerup@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_C4@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Scriptable@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Beacon@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Armed@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Simple@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_PowerPlant@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_SoldierFactory@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_VehicleFactory@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Airstrip@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_WarFactory@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Refinery@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_ComCenter@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_RepairBay@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_All_Objects_Area@@YAXMPBDABUVector3@@MPAE2@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_All_Vehicles_Area@@YAXMPBDABUVector3@@MPAE2@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Player_Count@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Building_Type@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Physics@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_Nearest_Beacon@@YAXPAEH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_Player_Team@@YA_NPAE_N11@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Scale_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Percentage_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Scale_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Percentage_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Custom_To_Team_Buildings@@YAXHPAEHHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Custom_To_Team_Preset@@YAXHPBDPAEHHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Can_Team_Build_Vehicle@@YA_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Message_With_Team_Color@@YAXHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Message_With_Obj_Color@@YAXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Message_Team@@YAXHIIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Obj_Radar_Blip_Shape_Team@@YAXHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Obj_Radar_Blip_Color_Team@@YAXHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Occupants_Fade@@YAXPAEMMMM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$VectorClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enable_Team_Radar@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_Sound_Team@@YAXPBDABUVector3@@PAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_2D_Sound_Team@@YAXPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_2D_WAV_Sound_Team@@YAXPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_3D_WAV_Sound_At_Bone_Team@@YAXPBDPAE0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_3D_Sound_At_Bone_Team@@YAXPBDPAE0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Display_Color_Team@@YAXEEEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Display_Text_Team@@YAXHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Display_Int_Team@@YAXHPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Display_Float_Team@@YAXMPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Script@@YAXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Duplicate_Script@@YAXPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Script_Preset@@YAXPBD0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Script_Type@@YAXPBDKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_All_Scripts@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Occupant_Count@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Occupant@@YAPAEPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Driver@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Gunner_Pos@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Gunner@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Preset@@YAXPBD00H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Type@@YAXPBD0KH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Copy_Transform@@YAXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Weapon@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetBullets@@YAHPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetClipBullets@@YAHPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetMaxBullets@@YAHPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetMaxClipBullets@@YAHPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Clip_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Total_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Clip_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Total_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Clip_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Total_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Clip_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Total_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Clip_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Position_Total_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Max_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Max_Clip_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Max_Total_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Weapon_Count@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Weapon@@YAPBDPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Has_Weapon@@YA_NPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Mass@@YAMPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Htree_Name@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Sex@@YADPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Force_Occupant_Exit@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Force_Occupants_Exit@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_Objects_Half@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Return@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Beacon_Count@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Beacon@@YAPAEHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Script_Attached@@YA_NPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Once@@YAXPAEPBD1@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Preset_Once@@YAXPBD00H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Type_Once@@YAXPBD0KH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Player_Once@@YAXPBD0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Building@@YAXPBD0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Is_Preset@@YAXPAEPBD11H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_Is_Type@@YAXPAEKPBD1H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_A_Building@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Non_Building_Object_By_Team@@YAPAEHUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Fly_Mode@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Stealth@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Custom_All_Objects_Area@@YAXHABUVector3@@MPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Custom_All_Objects@@YAXHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_Effect_All_Stealthed_Objects_Area@@YAXABUVector3@@MPBD0H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Kill_Occupants@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Tally_Team_Size@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Score@@YAMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_IP_Address@@YAPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Count@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?newstr@@YAPADPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?newwcs@@YAPA_WPB_W@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Mine_Limit@@YADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Gameplay_Permitted@@YA_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Ping@@YAKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Kbits@@YAKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Send_Custom_Event_To_Object@@YAXPAEPBDHHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Seat_Count@@YAHPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Spawn_Char@@YAPADH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_Spawn_Char@@YAXHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Building_Count_Team@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Ranged_Percentage_Damage_To_Vehicles@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Bandwidth@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Dedicated@@YA_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Transition_Vehicle@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Linux@@YA_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Game_Mode@@YAIXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Rank@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Kills@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Deaths@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Score@@YAMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Money@@YAMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Kill_To_Death_Ratio@@YAMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Damage_Points@@YAMPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Death_Points@@YAMPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Damage_Points@@YAXPAEM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Death_Points@@YAXPAEM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Mode@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_IP_Port@@YAPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Repair_All_Buildings_By_Team_Radius@@YAXHHMM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Translated_String@@YAPBDK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Wide_Translated_String@@YAPB_WK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Translated_Preset_Name@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Current_Translated_Weapon@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Translated_Weapon@@YAPBDPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Count_Proximity@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Count_Remote@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_All_Buildings_Team@@YAXHPBD0_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Attach_Script_All_Turrets_Team@@YAXHPBD0_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?stristr@@YAPADPBD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Part_Name@@YAPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Part_Names@@YAHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Planter@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_C4_Attached@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Beacon_Planter@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Mode@@YAIPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Repair_All_Turrets_By_Team@@YAXHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Color@@YAXIPAI00@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Player_Color@@YAXHPAI00@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Object_Color@@YAXPAEPAI11@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Private_Message_Color@@YAXPAI00@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Public_Message_Color@@YAXPAI00@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_C4@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_All_Proxy_C4@@YAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_All_C4@@YAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Vehicle_Count@@YAHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Base_Powered@@YA_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Can_Generate_Vehicles@@YA_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Can_Generate_Soliders@@YA_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_Occupants@@YAXPAEMPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Name@@YAPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Name@@YAPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SetBullets@@YAXPAKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SetClipBullets@@YAXPAKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Current_Bullets@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Current_Clip_Bullets@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Position_Bullets@@YAXPAEHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Position_Clip_Bullets@@YAXPAEHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Bullets@@YAXPAEPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Clip_Bullets@@YAXPAEPBDH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_Beacon@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disarm_Beacons@@YAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Harvester@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetMaxPlayerID@@YAHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Powerup_Weapon@@YAPBDPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Owner@@YAPAEPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Definition_Name@@YAPBDK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Definition_ID@@YAKPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Team_Cost@@YAIPBDI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Cost@@YAIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Change_String@@YAXPAVStringClass@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Enlisted@@YAXIIIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Beacon@@YAXIIIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Refill@@YAXIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Preset@@YAXIIIIIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Alternate@@YAXIIIIIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0StringClass@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??4StringClass@@QAEAAV0@AAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Force_Occupants_Exit_Team@@YAXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Power_Base@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Can_Generate_Soldiers@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Can_Generate_Vehicles@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Base@@YAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Beacon_Destroyed_Base@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enable_Base_Radar@@YAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disable_Preset@@YAXIII@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disable_Enlisted@@YAXII@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Harvester@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_GameObj_By_Player_Name@@YAPAEPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Definition_Class_ID@@YAKPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Definition_Mode@@YAIPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Radar_Enabled@@YA_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Building_Type@@YAHPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Building_Dead@@YA_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building@@YAPAEHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Base_Defence@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Purchase_Item@@YA_NPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Map_Flying@@YA_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?IsInsideZone@@YA_NPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Preset_By_Team@@YAPAEHABUVector3@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Random_Preset_By_Team@@YAPAEHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disable_All_Ground_Vehicles@@YAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disable_All_Flying_Vehicles@@YAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Object_Count@@YAHHPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Preset_ID@@YA_NK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Preset@@YA_NPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Building_With_Script@@YAPAEHHPBDPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_Building@@YAPAEPBDABUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Zone_Type@@YAIPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create_Zone@@YAPAEPBDABVOBBoxClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?PointInZone@@YA_NPAEABUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Money@@YAXHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Score@@YAXHM@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Base_Defense@@YAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Invalid_Bots@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Duplicate_Objects_In_A_Position@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Disable_Radar@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Say_Nearest_Objects_To_Pos@@YAXUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?List_RGHP_Users@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_All_Objects_By_Preset@@YAXPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Distance@@YAMUVector3@@0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Building_To_Pos_By_Team@@YAPAEUVector3@@H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Find_Closest_Object_To_Pos@@YAPAEUVector3@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Track_New_Beacons@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Track_New_C4_Proxy@@YAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Drop_All_Weapons2@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Drop_All_Weapons@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?All_Weps@@YAXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@VWideStringClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@VWideStringClass@@@@UAE_NHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@VWideStringClass@@@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@VWideStringClass@@@@UAEHAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@VWideStringClass@@@@UAEHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@VWideStringClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@VWideStringClass@@@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@VWideStringClass@@@@UAE_NHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@VWideStringClass@@@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@VWideStringClass@@@@UAEHAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@VWideStringClass@@@@UAEHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ReceiveSignal@?$Signaler@V?$TypedEventPair@_NH@@@@UAEXAAV?$TypedEventPair@_NH@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SignalDropped@?$Signaler@V?$TypedEventPair@_NH@@@@UAEXAAV1@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$Signaler@V?$TypedEventPair@_NH@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@PAE@@UAE_NHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@PAE@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAE@@UAEHAAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAE@@UAEHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Length@?$VectorClass@PAE@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??A?$VectorClass@PAE@@QAEAAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@PAE@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@PAE@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHAAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Count@?$DynamicVectorClass@PAK@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@PAK@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@PAK@@UAE_NHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@PAK@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAK@@UAEHAAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAK@@UAEHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@PAK@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??A?$VectorClass@PAK@@QAEAAPAKH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@PAK@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@PAK@@UAE_NHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@PAK@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAK@@UAEHAAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAK@@UAEHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$SList@E@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Add_Head@?$SList@E@@UAE_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Add_Head@?$SList@E@@UAE_NAAV1@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Add_Tail@?$SList@E@@UAE_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Add_Tail@?$SList@E@@UAE_NAAV1@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Head@?$SList@E@@UAEPAEXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_Tail@?$SList@E@@UAEPAEXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove@?$SList@E@@UAE_NPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remove_All@?$SList@E@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Insert_Before@?$SList@E@@UAE_NPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Insert_After@?$SList@E@@UAE_NPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Empty@?$SList@E@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Count@?$SList@E@@UAEJXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Count@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$SimpleDynVecClass@PAVGameObjObserverClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAVGameObjObserverClass@@@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??A?$SimpleVecClass@PAVGameObjObserverClass@@@@QAEAAPAVGameObjObserverClass@@H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$SimpleVecClass@PAVGameObjObserverClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAVGameObjObserverClass@@@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAE@@QAE@H@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Count@?$SimpleDynVecClass@PAE@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$SimpleDynVecClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$SimpleVecClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@VWideStringClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@VWideStringClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$Signaler@V?$TypedEventPair@_NH@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@PAK@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@PAK@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$SList@E@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAVGameObjObserverClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAVGameObjObserverClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$SimpleVecClass@PAE@@QAE@I@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@N@@YANNH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@H@@YAHHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@M@@YAMMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@O@@YAOOH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_7TeamPurchaseSettingsDefClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@VWideStringClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataSkirmish@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7DefinitionClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PurchaseSettingsDefClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@PAK@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PostLoadableClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$Signaler@V?$TypedEventPair@_NH@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@VWideStringClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PersistClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameData@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataSinglePlayer@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7EditableClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataCnc@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@PAK@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$SimpleVecClass@PAVGameObjObserverClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$SList@E@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$SimpleDynVecClass@PAVGameObjObserverClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
sxdata	SEGMENT DWORD USE32 'SXDATA'
sxdata	ENDS
FLAT	GROUP _DATA, CONST, _BSS
	ASSUME	CS: FLAT, DS: FLAT, SS: FLAT
endif

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?SetMaxShieldStrength@@3P6AXM@ZA		; SetMaxShieldStrength
PUBLIC	?Parse_Console_Input@@3P6AXPBD@ZA		; Parse_Console_Input
PUBLIC	?Output_To_Console@@3P6AXPBD@ZA			; Output_To_Console
PUBLIC	?SetPlayerType@@3P6AXPAEH@ZA			; SetPlayerType
PUBLIC	?GetPlayerCount@@3P6AHXZA			; GetPlayerCount
PUBLIC	?Check_Transitions@@3P6A_NPAE_N@ZA		; Check_Transitions
PUBLIC	?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA	; Get_Safe_Data_Uint_Ref
PUBLIC	?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA		; Set_Safe_Data_Uint_Ref
PUBLIC	?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA		; Set_Safe_Data_Int_Ref
PUBLIC	?Game@@3P6APAVcGameData@@XZA			; Game
PUBLIC	?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA	; Skirmish_Game
PUBLIC	?Cnc_Game@@3P6APAVcGameDataCnc@@XZA		; Cnc_Game
PUBLIC	?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA ; Single_Player_Game
PUBLIC	?BuildingGameObjList@@3PAV?$SList@E@@A		; BuildingGameObjList
PUBLIC	?SmartGameObjList@@3PAV?$SList@E@@A		; SmartGameObjList
PUBLIC	?BaseGameObjList@@3PAV?$SList@E@@A		; BaseGameObjList
PUBLIC	?SpawnCharNod@@3PADA				; SpawnCharNod
PUBLIC	?SpawnCharGDI@@3PADA				; SpawnCharGDI
PUBLIC	?Game_Mode_Find@@3P6APAXPBD@ZA			; Game_Mode_Find
PUBLIC	?IsListed@@3PA_NA				; IsListed
PUBLIC	?GameType@@3PAHA				; GameType
PUBLIC	?Get_Safe_Data_Int@@3P6AHPAX@ZA			; Get_Safe_Data_Int
PUBLIC	?Get_Safe_Data_Float@@3P6AMPAX@ZA		; Get_Safe_Data_Float
PUBLIC	?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA	; Get_Safe_Data_Float_Ref
PUBLIC	?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA	; Set_Safe_Data_Float_Ref
PUBLIC	?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA	; Get_TDB_Object
PUBLIC	?Get_Beacon_Owner@@3P6APAEXZA			; Get_Beacon_Owner
PUBLIC	?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA	; Get_Color_For_Team
PUBLIC	?GetColor@@3P6AXPAUVector3@@@ZA			; GetColor
PUBLIC	?Get_Obj_Color@@3P6AXPAUVector3@@@ZA		; Get_Obj_Color
PUBLIC	?C4Defuse@@3P6AXXZA				; C4Defuse
PUBLIC	?GetVehicleCount@@3P6AIXZA			; GetVehicleCount
PUBLIC	?FindBase@@3PAXA				; FindBase
PUBLIC	?GDIHouseColor@@3PAMA				; GDIHouseColor
PUBLIC	?NodHouseColor@@3PAMA				; NodHouseColor
PUBLIC	?PrivateMessageColor@@3PAMA			; PrivateMessageColor
PUBLIC	?PublicMessageColor@@3PAMA			; PublicMessageColor
PUBLIC	?Get_VehicleName@@3P6APA_WXZA			; Get_VehicleName
PUBLIC	?Completly_Damaged@@3P6AXPAX@ZA			; Completly_Damaged
PUBLIC	?GetHarvester@@3PAXA				; GetHarvester
PUBLIC	?PowerBase@@3PAXA				; PowerBase
PUBLIC	?SetCanGenerateSoldiers@@3PAXA			; SetCanGenerateSoldiers
PUBLIC	?SetCanGenerateVehicles@@3PAXA			; SetCanGenerateVehicles
PUBLIC	?DestroyBase@@3PAXA				; DestroyBase
PUBLIC	?SetBeaconDestroyedBase@@3PAXA			; SetBeaconDestroyedBase
PUBLIC	?EnableRadar@@3PAXA				; EnableRadar
PUBLIC	?GetINI@@3PAXA					; GetINI
PUBLIC	?ReleaseINI@@3PAXA				; ReleaseINI
PUBLIC	?IniClassGetInt@@3PAXA				; IniClassGetInt
PUBLIC	?IniClassGetDouble@@3PAXA			; IniClassGetDouble
PUBLIC	?IniClassGetBool@@3PAXA				; IniClassGetBool
PUBLIC	?IniClassGetString@@3PAXA			; IniClassGetString
PUBLIC	?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
PUBLIC	?Find_Purchase_Definition@@3PAXA		; Find_Purchase_Definition
PUBLIC	?Find_Team_Purchase_Definition@@3PAXA		; Find_Team_Purchase_Definition
PUBLIC	?UninitialisedGrow@@3PAXA			; UninitialisedGrow
PUBLIC	?WideUninitialisedGrow@@3PAXA			; WideUninitialisedGrow
PUBLIC	?EmptyStr@@3PAVStringClass@@A			; EmptyStr
PUBLIC	?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A ; DefinitionArray
PUBLIC	?FindBuilding@@3PAXA				; FindBuilding
PUBLIC	?IsMapVTOL@@3PA_NA				; IsMapVTOL
PUBLIC	?FindClosestZone@@3PAXA				; FindClosestZone
PUBLIC	?InsideMe@@3P6A_NPAE@ZA				; InsideMe
PUBLIC	?Create_Library_Object@@3P6APAEPBD@ZA		; Create_Library_Object
PUBLIC	?Start_Observers@@3P6AXXZA			; Start_Observers
PUBLIC	?Collect_Building_Components@@3P6AXXZA		; Collect_Building_Components
PUBLIC	?overlap@@3PAXA					; overlap
PUBLIC	?SetMoney@@3P6AXM@ZA				; SetMoney
PUBLIC	?SetScore@@3P6AXM@ZA				; SetScore
PUBLIC	?GameMode@@3PAIA				; GameMode
PUBLIC	?ConvertFrom@@3PAXA				; ConvertFrom
PUBLIC	?GetString@@3PAXA				; GetString
PUBLIC	?FreeString@@3PAXA				; FreeString
PUBLIC	?AddChatHook@@3P6AXP6AXHHPB_W@Z@ZA		; AddChatHook
PUBLIC	?AddHostHook@@3P6AXP6AXHHPBD@Z@ZA		; AddHostHook
PUBLIC	?Set_Scope@@3P6AXPAEH@ZA			; Set_Scope
PUBLIC	?Set_HUD_Texture@@3P6AXPAEPBD@ZA		; Set_HUD_Texture
PUBLIC	?AddObjectCreateHook@@3P6AHPAUObjectCreateHookStruct@@@ZA ; AddObjectCreateHook
PUBLIC	?RemoveObjectCreateHook@@3P6AXH@ZA		; RemoveObjectCreateHook
PUBLIC	?AddKeyHook@@3P6AHPAUKeyHookStruct@@@ZA		; AddKeyHook
PUBLIC	?RemoveKeyHook@@3P6AXH@ZA			; RemoveKeyHook
PUBLIC	?GetCurrentMusicTrack@@3P6APBDXZA		; GetCurrentMusicTrack
PUBLIC	?GetBHSVersion@@3P6ANXZA			; GetBHSVersion
PUBLIC	?AddLoadLevelHook@@3P6AXP6AXXZ@ZA		; AddLoadLevelHook
PUBLIC	?AddGameOverHook@@3P6AXP6AXXZ@ZA		; AddGameOverHook
PUBLIC	?AddPlayerJoinHook@@3P6AXP6AXHPBD@Z@ZA		; AddPlayerJoinHook
PUBLIC	?AddPowerupPurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA ; AddPowerupPurchaseHook
PUBLIC	?AddVehiclePurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA ; AddVehiclePurchaseHook
PUBLIC	?AddCharacterPurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA ; AddCharacterPurchaseHook
PUBLIC	?AddPowerupPurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA ; AddPowerupPurchaseMonHook
PUBLIC	?AddVehiclePurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA ; AddVehiclePurchaseMonHook
PUBLIC	?AddCharacterPurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA ; AddCharacterPurchaseMonHook
PUBLIC	?RemovePowerupPurchaseHook@@3P6AXH@ZA		; RemovePowerupPurchaseHook
PUBLIC	?RemoveVehiclePurchaseHook@@3P6AXH@ZA		; RemoveVehiclePurchaseHook
PUBLIC	?RemoveCharacterPurchaseHook@@3P6AXH@ZA		; RemoveCharacterPurchaseHook
PUBLIC	?RemovePowerupPurchaseMonHook@@3P6AXH@ZA	; RemovePowerupPurchaseMonHook
PUBLIC	?RemoveVehiclePurchaseMonHook@@3P6AXH@ZA	; RemoveVehiclePurchaseMonHook
PUBLIC	?RemoveCharacterPurchaseMonHook@@3P6AXH@ZA	; RemoveCharacterPurchaseMonHook
PUBLIC	?Set_Info_Texture@@3P6AXPAEPBD@ZA		; Set_Info_Texture
PUBLIC	?Clear_Info_Texture@@3P6AXPAE@ZA		; Clear_Info_Texture
PUBLIC	?Enable_Stealth_Player@@3P6AXPAE0_N@ZA		; Enable_Stealth_Player
PUBLIC	?Set_Fog_Enable_Player@@3P6AXPAE_N@ZA		; Set_Fog_Enable_Player
PUBLIC	?Set_Fog_Range_Player@@3P6AXPAEMMM@ZA		; Set_Fog_Range_Player
PUBLIC	?Set_Background_Music_Player@@3P6AXPAEPBD@ZA	; Set_Background_Music_Player
PUBLIC	?Fade_Background_Music_Player@@3P6AXPAEPBDHH@ZA	; Fade_Background_Music_Player
PUBLIC	?Stop_Background_Music_Player@@3P6AXPAE@ZA	; Stop_Background_Music_Player
PUBLIC	?Enable_Radar_Player@@3P6AXPAE_N@ZA		; Enable_Radar_Player
PUBLIC	?Display_GDI_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_GDI_Player_Terminal_Player
PUBLIC	?Display_NOD_Player_Terminal_Player@@3P6AXPAE@ZA ; Display_NOD_Player_Terminal_Player
PUBLIC	?Set_Screen_Fade_Color_Player@@3P6AXPAEMMMM@ZA	; Set_Screen_Fade_Color_Player
PUBLIC	?Set_Screen_Fade_Opacity_Player@@3P6AXPAEMM@ZA	; Set_Screen_Fade_Opacity_Player
PUBLIC	?Force_Camera_Look_Player@@3P6AXPAEABUVector3@@@ZA ; Force_Camera_Look_Player
PUBLIC	?Enable_HUD_Player@@3P6AXPAE_N@ZA		; Enable_HUD_Player
PUBLIC	?Create_Sound_Player@@3P6AHPAEPBDABUVector3@@0@ZA ; Create_Sound_Player
PUBLIC	?Create_2D_Sound_Player@@3P6AHPAEPBD@ZA		; Create_2D_Sound_Player
PUBLIC	?Create_2D_WAV_Sound_Player@@3P6AHPAEPBD@ZA	; Create_2D_WAV_Sound_Player
PUBLIC	?Create_3D_WAV_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA ; Create_3D_WAV_Sound_At_Bone_Player
PUBLIC	?Create_3D_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA ; Create_3D_Sound_At_Bone_Player
PUBLIC	?Set_Display_Color_Player@@3P6AXPAEEEE@ZA	; Set_Display_Color_Player
PUBLIC	?Display_Text_Player@@3P6AXPAEH@ZA		; Display_Text_Player
PUBLIC	?Display_Int_Player@@3P6AXPAEHPBD@ZA		; Display_Int_Player
PUBLIC	?Display_Float_Player@@3P6AXPAEMPBD@ZA		; Display_Float_Player
PUBLIC	?Set_Obj_Radar_Blip_Shape_Player@@3P6AXPAE0H@ZA	; Set_Obj_Radar_Blip_Shape_Player
PUBLIC	?Set_Obj_Radar_Blip_Color_Player@@3P6AXPAE0H@ZA	; Set_Obj_Radar_Blip_Color_Player
PUBLIC	?Set_Vehicle_Limit@@3P6AXI@ZA			; Set_Vehicle_Limit
PUBLIC	?Get_Vehicle_Limit@@3P6AKXZA			; Get_Vehicle_Limit
PUBLIC	?Send_Message@@3P6AXIIIPBD@ZA			; Send_Message
PUBLIC	?Send_Message_Player@@3P6AXPAEIIIPBD@ZA		; Send_Message_Player
PUBLIC	?AddVersionHook@@3P6AXP6AXHM@Z@ZA		; AddVersionHook
PUBLIC	?Set_Wireframe_Mode@@3P6AXH@ZA			; Set_Wireframe_Mode
PUBLIC	?Load_New_HUD_INI@@3P6AXPAEPBD@ZA		; Load_New_HUD_INI
PUBLIC	?Remove_Weapon@@3P6AXPAEPBD@ZA			; Remove_Weapon
PUBLIC	?Update_PT_Data@@3P6AXXZA			; Update_PT_Data
PUBLIC	?Change_Radar_Map@@3P6AXMMMPBD@ZA		; Change_Radar_Map
PUBLIC	?Get_Build_Time_Multiplier@@3P6AMH@ZA		; Get_Build_Time_Multiplier
PUBLIC	?Set_Currently_Building@@3P6AX_NH@ZA		; Set_Currently_Building
PUBLIC	?Is_Currently_Building@@3P6A_NH@ZA		; Is_Currently_Building
PUBLIC	?AddConsoleOutputHook@@3P6AXP6AXPBD@Z@ZA	; AddConsoleOutputHook
PUBLIC	?AddCRCHook@@3P6AXP6AXIH@Z@ZA			; AddCRCHook
PUBLIC	?AddDataHook@@3P6AXP6AXHIPAI@Z@ZA		; AddDataHook
PUBLIC	?Set_Reticle_Texture1@@3P6AXPAEPBD@ZA		; Set_Reticle_Texture1
PUBLIC	?Set_Reticle_Texture2@@3P6AXPAEPBD@ZA		; Set_Reticle_Texture2
PUBLIC	?Set_Fog_Color@@3P6AXIII@ZA			; Set_Fog_Color
PUBLIC	?Set_Fog_Color_Player@@3P6AXPAEIII@ZA		; Set_Fog_Color_Player
PUBLIC	?Set_Fog_Mode@@3P6AXI@ZA			; Set_Fog_Mode
PUBLIC	?Set_Fog_Mode_Player@@3P6AXPAEI@ZA		; Set_Fog_Mode_Player
PUBLIC	?Set_Fog_Density@@3P6AXM@ZA			; Set_Fog_Density
PUBLIC	?Set_Fog_Density_Player@@3P6AXPAEM@ZA		; Set_Fog_Density_Player
PUBLIC	?Change_Time_Remaining@@3P6AXM@ZA		; Change_Time_Remaining
PUBLIC	?Change_Time_Limit@@3P6AXH@ZA			; Change_Time_Limit
PUBLIC	?Display_GDI_Sidebar@@3P6AXPAE@ZA		; Display_GDI_Sidebar
PUBLIC	?Display_NOD_Sidebar@@3P6AXPAE@ZA		; Display_NOD_Sidebar
PUBLIC	?Exe@@3HA					; Exe
PUBLIC	?Set_Transform@@3P6AXPAUMatrix3D@@@ZA		; Set_Transform
PUBLIC	?Get_Transform@@3P6APAUMatrix3D@@XZA		; Get_Transform
PUBLIC	?Find_Team@@3P6APADH@ZA				; Find_Team
PUBLIC	?TallyTeamSize@@3P6AHH@ZA			; TallyTeamSize
PUBLIC	?FindPlayer@@3P6APAEH@ZA			; FindPlayer
PUBLIC	?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA	; FindNamedDef
PUBLIC	?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA	; SoldierReInit
PUBLIC	?Post_ReInit@@3P6AXXZA				; Post_ReInit
PUBLIC	?ServerConnection@@3PAPADA			; ServerConnection
PUBLIC	?Get_Remote_Host@@3P6APADH@ZA			; Get_Remote_Host
PUBLIC	?RenNew@@3P6APAXK@ZA				; RenNew
PUBLIC	?RenVecNew@@3P6APAXK@ZA				; RenVecNew
PUBLIC	?RenDelete@@3P6AXPAX@ZA				; RenDelete
PUBLIC	?RenVecDelete@@3P6AXPAX@ZA			; RenVecDelete
PUBLIC	?Get_Address@@3P6APAUsockaddr_in@@XZA		; Get_Address
PUBLIC	?Grant_Supplies@@3P6AXPAE@ZA			; Grant_Supplies
PUBLIC	?Powerup_Grant@@3P6AXPAEH_N@ZA			; Powerup_Grant
PUBLIC	?Get_Armor_Name@@3P6APBDI@ZA			; Get_Armor_Name
PUBLIC	?Get_Armor_Type@@3P6AIPBD@ZA			; Get_Armor_Type
PUBLIC	?Mark_Owner_Dirty@@3P6AXXZA			; Mark_Owner_Dirty
PUBLIC	?Is_Available_For_Purchase@@3P6A_NXZA		; Is_Available_For_Purchase
PUBLIC	?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA	; Bandwidth_Out
PUBLIC	?PacketManager@@3PAXA				; PacketManager
PUBLIC	?Mine_Limit@@3PADA				; Mine_Limit
PUBLIC	?Request_Vehicle@@3P6A_NHMPAE@ZA		; Request_Vehicle
PUBLIC	?ToggleFly@@3P6AXXZA				; ToggleFly
PUBLIC	?SetMaxHealth@@3P6AXM@ZA			; SetMaxHealth
_BSS	SEGMENT
?SetMaxShieldStrength@@3P6AXM@ZA DD 01H DUP (?)		; SetMaxShieldStrength
?Parse_Console_Input@@3P6AXPBD@ZA DD 01H DUP (?)	; Parse_Console_Input
?Output_To_Console@@3P6AXPBD@ZA DD 01H DUP (?)		; Output_To_Console
?SetPlayerType@@3P6AXPAEH@ZA DD 01H DUP (?)		; SetPlayerType
?GetPlayerCount@@3P6AHXZA DD 01H DUP (?)		; GetPlayerCount
?Check_Transitions@@3P6A_NPAE_N@ZA DD 01H DUP (?)	; Check_Transitions
?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA DD 01H DUP (?) ; Get_Safe_Data_Uint_Ref
?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA DD 01H DUP (?)	; Set_Safe_Data_Uint_Ref
?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA DD 01H DUP (?)	; Set_Safe_Data_Int_Ref
?Game@@3P6APAVcGameData@@XZA DD 01H DUP (?)		; Game
?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA DD 01H DUP (?) ; Skirmish_Game
?Cnc_Game@@3P6APAVcGameDataCnc@@XZA DD 01H DUP (?)	; Cnc_Game
?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA DD 01H DUP (?) ; Single_Player_Game
?BuildingGameObjList@@3PAV?$SList@E@@A DD 01H DUP (?)	; BuildingGameObjList
?SmartGameObjList@@3PAV?$SList@E@@A DD 01H DUP (?)	; SmartGameObjList
?BaseGameObjList@@3PAV?$SList@E@@A DD 01H DUP (?)	; BaseGameObjList
?SpawnCharNod@@3PADA DD 01H DUP (?)			; SpawnCharNod
?SpawnCharGDI@@3PADA DD 01H DUP (?)			; SpawnCharGDI
?Game_Mode_Find@@3P6APAXPBD@ZA DD 01H DUP (?)		; Game_Mode_Find
?IsListed@@3PA_NA DD 01H DUP (?)			; IsListed
?GameType@@3PAHA DD 01H DUP (?)				; GameType
?Get_Safe_Data_Int@@3P6AHPAX@ZA DD 01H DUP (?)		; Get_Safe_Data_Int
?Get_Safe_Data_Float@@3P6AMPAX@ZA DD 01H DUP (?)	; Get_Safe_Data_Float
?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA DD 01H DUP (?) ; Get_Safe_Data_Float_Ref
?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA DD 01H DUP (?)	; Set_Safe_Data_Float_Ref
?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA DD 01H DUP (?) ; Get_TDB_Object
?Get_Beacon_Owner@@3P6APAEXZA DD 01H DUP (?)		; Get_Beacon_Owner
?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA DD 01H DUP (?) ; Get_Color_For_Team
?GetColor@@3P6AXPAUVector3@@@ZA DD 01H DUP (?)		; GetColor
?Get_Obj_Color@@3P6AXPAUVector3@@@ZA DD 01H DUP (?)	; Get_Obj_Color
?C4Defuse@@3P6AXXZA DD 01H DUP (?)			; C4Defuse
?GetVehicleCount@@3P6AIXZA DD 01H DUP (?)		; GetVehicleCount
?FindBase@@3PAXA DD 01H DUP (?)				; FindBase
?GDIHouseColor@@3PAMA DD 01H DUP (?)			; GDIHouseColor
?NodHouseColor@@3PAMA DD 01H DUP (?)			; NodHouseColor
?PrivateMessageColor@@3PAMA DD 01H DUP (?)		; PrivateMessageColor
?PublicMessageColor@@3PAMA DD 01H DUP (?)		; PublicMessageColor
?Get_VehicleName@@3P6APA_WXZA DD 01H DUP (?)		; Get_VehicleName
?Completly_Damaged@@3P6AXPAX@ZA DD 01H DUP (?)		; Completly_Damaged
?GetHarvester@@3PAXA DD 01H DUP (?)			; GetHarvester
?PowerBase@@3PAXA DD 01H DUP (?)			; PowerBase
?SetCanGenerateSoldiers@@3PAXA DD 01H DUP (?)		; SetCanGenerateSoldiers
?SetCanGenerateVehicles@@3PAXA DD 01H DUP (?)		; SetCanGenerateVehicles
?DestroyBase@@3PAXA DD 01H DUP (?)			; DestroyBase
?SetBeaconDestroyedBase@@3PAXA DD 01H DUP (?)		; SetBeaconDestroyedBase
?EnableRadar@@3PAXA DD 01H DUP (?)			; EnableRadar
?GetINI@@3PAXA DD 01H DUP (?)				; GetINI
?ReleaseINI@@3PAXA DD 01H DUP (?)			; ReleaseINI
?IniClassGetInt@@3PAXA DD 01H DUP (?)			; IniClassGetInt
?IniClassGetDouble@@3PAXA DD 01H DUP (?)		; IniClassGetDouble
?IniClassGetBool@@3PAXA DD 01H DUP (?)			; IniClassGetBool
?IniClassGetString@@3PAXA DD 01H DUP (?)		; IniClassGetString
?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA DD 01H DUP (?) ; Find_Definition
?Find_Purchase_Definition@@3PAXA DD 01H DUP (?)		; Find_Purchase_Definition
?Find_Team_Purchase_Definition@@3PAXA DD 01H DUP (?)	; Find_Team_Purchase_Definition
?UninitialisedGrow@@3PAXA DD 01H DUP (?)		; UninitialisedGrow
?WideUninitialisedGrow@@3PAXA DD 01H DUP (?)		; WideUninitialisedGrow
?EmptyStr@@3PAVStringClass@@A DD 01H DUP (?)		; EmptyStr
?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A DD 01H DUP (?) ; DefinitionArray
?FindBuilding@@3PAXA DD 01H DUP (?)			; FindBuilding
?IsMapVTOL@@3PA_NA DD 01H DUP (?)			; IsMapVTOL
?FindClosestZone@@3PAXA DD 01H DUP (?)			; FindClosestZone
?InsideMe@@3P6A_NPAE@ZA DD 01H DUP (?)			; InsideMe
?Create_Library_Object@@3P6APAEPBD@ZA DD 01H DUP (?)	; Create_Library_Object
?Start_Observers@@3P6AXXZA DD 01H DUP (?)		; Start_Observers
?Collect_Building_Components@@3P6AXXZA DD 01H DUP (?)	; Collect_Building_Components
?overlap@@3PAXA DD 01H DUP (?)				; overlap
?SetMoney@@3P6AXM@ZA DD 01H DUP (?)			; SetMoney
?SetScore@@3P6AXM@ZA DD 01H DUP (?)			; SetScore
?GameMode@@3PAIA DD 01H DUP (?)				; GameMode
?ConvertFrom@@3PAXA DD 01H DUP (?)			; ConvertFrom
?GetString@@3PAXA DD 01H DUP (?)			; GetString
?FreeString@@3PAXA DD 01H DUP (?)			; FreeString
?AddChatHook@@3P6AXP6AXHHPB_W@Z@ZA DD 01H DUP (?)	; AddChatHook
?AddHostHook@@3P6AXP6AXHHPBD@Z@ZA DD 01H DUP (?)	; AddHostHook
?Set_Scope@@3P6AXPAEH@ZA DD 01H DUP (?)			; Set_Scope
?Set_HUD_Texture@@3P6AXPAEPBD@ZA DD 01H DUP (?)		; Set_HUD_Texture
?AddObjectCreateHook@@3P6AHPAUObjectCreateHookStruct@@@ZA DD 01H DUP (?) ; AddObjectCreateHook
?RemoveObjectCreateHook@@3P6AXH@ZA DD 01H DUP (?)	; RemoveObjectCreateHook
?AddKeyHook@@3P6AHPAUKeyHookStruct@@@ZA DD 01H DUP (?)	; AddKeyHook
?RemoveKeyHook@@3P6AXH@ZA DD 01H DUP (?)		; RemoveKeyHook
?GetCurrentMusicTrack@@3P6APBDXZA DD 01H DUP (?)	; GetCurrentMusicTrack
?GetBHSVersion@@3P6ANXZA DD 01H DUP (?)			; GetBHSVersion
?AddLoadLevelHook@@3P6AXP6AXXZ@ZA DD 01H DUP (?)	; AddLoadLevelHook
?AddGameOverHook@@3P6AXP6AXXZ@ZA DD 01H DUP (?)		; AddGameOverHook
?AddPlayerJoinHook@@3P6AXP6AXHPBD@Z@ZA DD 01H DUP (?)	; AddPlayerJoinHook
?AddPowerupPurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA DD 01H DUP (?) ; AddPowerupPurchaseHook
?AddVehiclePurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA DD 01H DUP (?) ; AddVehiclePurchaseHook
?AddCharacterPurchaseHook@@3P6AHP6AHPAVBaseControllerClass@@PAEIIPBD@Z2@ZA DD 01H DUP (?) ; AddCharacterPurchaseHook
?AddPowerupPurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA DD 01H DUP (?) ; AddPowerupPurchaseMonHook
?AddVehiclePurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA DD 01H DUP (?) ; AddVehiclePurchaseMonHook
?AddCharacterPurchaseMonHook@@3P6AHP6AXPAVBaseControllerClass@@PAEIIIPBD@Z2@ZA DD 01H DUP (?) ; AddCharacterPurchaseMonHook
?RemovePowerupPurchaseHook@@3P6AXH@ZA DD 01H DUP (?)	; RemovePowerupPurchaseHook
?RemoveVehiclePurchaseHook@@3P6AXH@ZA DD 01H DUP (?)	; RemoveVehiclePurchaseHook
?RemoveCharacterPurchaseHook@@3P6AXH@ZA DD 01H DUP (?)	; RemoveCharacterPurchaseHook
?RemovePowerupPurchaseMonHook@@3P6AXH@ZA DD 01H DUP (?)	; RemovePowerupPurchaseMonHook
?RemoveVehiclePurchaseMonHook@@3P6AXH@ZA DD 01H DUP (?)	; RemoveVehiclePurchaseMonHook
?RemoveCharacterPurchaseMonHook@@3P6AXH@ZA DD 01H DUP (?) ; RemoveCharacterPurchaseMonHook
?Set_Info_Texture@@3P6AXPAEPBD@ZA DD 01H DUP (?)	; Set_Info_Texture
?Clear_Info_Texture@@3P6AXPAE@ZA DD 01H DUP (?)		; Clear_Info_Texture
?Enable_Stealth_Player@@3P6AXPAE0_N@ZA DD 01H DUP (?)	; Enable_Stealth_Player
?Set_Fog_Enable_Player@@3P6AXPAE_N@ZA DD 01H DUP (?)	; Set_Fog_Enable_Player
?Set_Fog_Range_Player@@3P6AXPAEMMM@ZA DD 01H DUP (?)	; Set_Fog_Range_Player
?Set_Background_Music_Player@@3P6AXPAEPBD@ZA DD 01H DUP (?) ; Set_Background_Music_Player
?Fade_Background_Music_Player@@3P6AXPAEPBDHH@ZA DD 01H DUP (?) ; Fade_Background_Music_Player
?Stop_Background_Music_Player@@3P6AXPAE@ZA DD 01H DUP (?) ; Stop_Background_Music_Player
?Enable_Radar_Player@@3P6AXPAE_N@ZA DD 01H DUP (?)	; Enable_Radar_Player
?Display_GDI_Player_Terminal_Player@@3P6AXPAE@ZA DD 01H DUP (?) ; Display_GDI_Player_Terminal_Player
?Display_NOD_Player_Terminal_Player@@3P6AXPAE@ZA DD 01H DUP (?) ; Display_NOD_Player_Terminal_Player
?Set_Screen_Fade_Color_Player@@3P6AXPAEMMMM@ZA DD 01H DUP (?) ; Set_Screen_Fade_Color_Player
?Set_Screen_Fade_Opacity_Player@@3P6AXPAEMM@ZA DD 01H DUP (?) ; Set_Screen_Fade_Opacity_Player
?Force_Camera_Look_Player@@3P6AXPAEABUVector3@@@ZA DD 01H DUP (?) ; Force_Camera_Look_Player
?Enable_HUD_Player@@3P6AXPAE_N@ZA DD 01H DUP (?)	; Enable_HUD_Player
?Create_Sound_Player@@3P6AHPAEPBDABUVector3@@0@ZA DD 01H DUP (?) ; Create_Sound_Player
?Create_2D_Sound_Player@@3P6AHPAEPBD@ZA DD 01H DUP (?)	; Create_2D_Sound_Player
?Create_2D_WAV_Sound_Player@@3P6AHPAEPBD@ZA DD 01H DUP (?) ; Create_2D_WAV_Sound_Player
?Create_3D_WAV_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA DD 01H DUP (?) ; Create_3D_WAV_Sound_At_Bone_Player
?Create_3D_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA DD 01H DUP (?) ; Create_3D_Sound_At_Bone_Player
?Set_Display_Color_Player@@3P6AXPAEEEE@ZA DD 01H DUP (?) ; Set_Display_Color_Player
?Display_Text_Player@@3P6AXPAEH@ZA DD 01H DUP (?)	; Display_Text_Player
?Display_Int_Player@@3P6AXPAEHPBD@ZA DD 01H DUP (?)	; Display_Int_Player
?Display_Float_Player@@3P6AXPAEMPBD@ZA DD 01H DUP (?)	; Display_Float_Player
?Set_Obj_Radar_Blip_Shape_Player@@3P6AXPAE0H@ZA DD 01H DUP (?) ; Set_Obj_Radar_Blip_Shape_Player
?Set_Obj_Radar_Blip_Color_Player@@3P6AXPAE0H@ZA DD 01H DUP (?) ; Set_Obj_Radar_Blip_Color_Player
?Set_Vehicle_Limit@@3P6AXI@ZA DD 01H DUP (?)		; Set_Vehicle_Limit
?Get_Vehicle_Limit@@3P6AKXZA DD 01H DUP (?)		; Get_Vehicle_Limit
?Send_Message@@3P6AXIIIPBD@ZA DD 01H DUP (?)		; Send_Message
?Send_Message_Player@@3P6AXPAEIIIPBD@ZA DD 01H DUP (?)	; Send_Message_Player
?AddVersionHook@@3P6AXP6AXHM@Z@ZA DD 01H DUP (?)	; AddVersionHook
?Set_Wireframe_Mode@@3P6AXH@ZA DD 01H DUP (?)		; Set_Wireframe_Mode
?Load_New_HUD_INI@@3P6AXPAEPBD@ZA DD 01H DUP (?)	; Load_New_HUD_INI
?Remove_Weapon@@3P6AXPAEPBD@ZA DD 01H DUP (?)		; Remove_Weapon
?Update_PT_Data@@3P6AXXZA DD 01H DUP (?)		; Update_PT_Data
?Change_Radar_Map@@3P6AXMMMPBD@ZA DD 01H DUP (?)	; Change_Radar_Map
?Get_Build_Time_Multiplier@@3P6AMH@ZA DD 01H DUP (?)	; Get_Build_Time_Multiplier
?Set_Currently_Building@@3P6AX_NH@ZA DD 01H DUP (?)	; Set_Currently_Building
?Is_Currently_Building@@3P6A_NH@ZA DD 01H DUP (?)	; Is_Currently_Building
?AddConsoleOutputHook@@3P6AXP6AXPBD@Z@ZA DD 01H DUP (?)	; AddConsoleOutputHook
?AddCRCHook@@3P6AXP6AXIH@Z@ZA DD 01H DUP (?)		; AddCRCHook
?AddDataHook@@3P6AXP6AXHIPAI@Z@ZA DD 01H DUP (?)	; AddDataHook
?Set_Reticle_Texture1@@3P6AXPAEPBD@ZA DD 01H DUP (?)	; Set_Reticle_Texture1
?Set_Reticle_Texture2@@3P6AXPAEPBD@ZA DD 01H DUP (?)	; Set_Reticle_Texture2
?Set_Fog_Color@@3P6AXIII@ZA DD 01H DUP (?)		; Set_Fog_Color
?Set_Fog_Color_Player@@3P6AXPAEIII@ZA DD 01H DUP (?)	; Set_Fog_Color_Player
?Set_Fog_Mode@@3P6AXI@ZA DD 01H DUP (?)			; Set_Fog_Mode
?Set_Fog_Mode_Player@@3P6AXPAEI@ZA DD 01H DUP (?)	; Set_Fog_Mode_Player
?Set_Fog_Density@@3P6AXM@ZA DD 01H DUP (?)		; Set_Fog_Density
?Set_Fog_Density_Player@@3P6AXPAEM@ZA DD 01H DUP (?)	; Set_Fog_Density_Player
?Change_Time_Remaining@@3P6AXM@ZA DD 01H DUP (?)	; Change_Time_Remaining
?Change_Time_Limit@@3P6AXH@ZA DD 01H DUP (?)		; Change_Time_Limit
?Display_GDI_Sidebar@@3P6AXPAE@ZA DD 01H DUP (?)	; Display_GDI_Sidebar
?Display_NOD_Sidebar@@3P6AXPAE@ZA DD 01H DUP (?)	; Display_NOD_Sidebar
?Set_Transform@@3P6AXPAUMatrix3D@@@ZA DD 01H DUP (?)	; Set_Transform
?Get_Transform@@3P6APAUMatrix3D@@XZA DD 01H DUP (?)	; Get_Transform
?Find_Team@@3P6APADH@ZA DD 01H DUP (?)			; Find_Team
?TallyTeamSize@@3P6AHH@ZA DD 01H DUP (?)		; TallyTeamSize
?FindPlayer@@3P6APAEH@ZA DD 01H DUP (?)			; FindPlayer
?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA DD 01H DUP (?) ; FindNamedDef
?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA DD 01H DUP (?) ; SoldierReInit
?Post_ReInit@@3P6AXXZA DD 01H DUP (?)			; Post_ReInit
?ServerConnection@@3PAPADA DD 01H DUP (?)		; ServerConnection
?Get_Remote_Host@@3P6APADH@ZA DD 01H DUP (?)		; Get_Remote_Host
?RenNew@@3P6APAXK@ZA DD 01H DUP (?)			; RenNew
?RenVecNew@@3P6APAXK@ZA DD 01H DUP (?)			; RenVecNew
?RenDelete@@3P6AXPAX@ZA DD 01H DUP (?)			; RenDelete
?RenVecDelete@@3P6AXPAX@ZA DD 01H DUP (?)		; RenVecDelete
?Get_Address@@3P6APAUsockaddr_in@@XZA DD 01H DUP (?)	; Get_Address
?Grant_Supplies@@3P6AXPAE@ZA DD 01H DUP (?)		; Grant_Supplies
?Powerup_Grant@@3P6AXPAEH_N@ZA DD 01H DUP (?)		; Powerup_Grant
?Get_Armor_Name@@3P6APBDI@ZA DD 01H DUP (?)		; Get_Armor_Name
?Get_Armor_Type@@3P6AIPBD@ZA DD 01H DUP (?)		; Get_Armor_Type
?Mark_Owner_Dirty@@3P6AXXZA DD 01H DUP (?)		; Mark_Owner_Dirty
?Is_Available_For_Purchase@@3P6A_NXZA DD 01H DUP (?)	; Is_Available_For_Purchase
?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA DD 01H DUP (?)	; Bandwidth_Out
?PacketManager@@3PAXA DD 01H DUP (?)			; PacketManager
?Mine_Limit@@3PADA DD 01H DUP (?)			; Mine_Limit
?Request_Vehicle@@3P6A_NHMPAE@ZA DD 01H DUP (?)		; Request_Vehicle
?ToggleFly@@3P6AXXZA DD 01H DUP (?)			; ToggleFly
?SetMaxHealth@@3P6AXM@ZA DD 01H DUP (?)			; SetMaxHealth
_BSS	ENDS
_DATA	SEGMENT
?Exe@@3HA DD	06H					; Exe
_DATA	ENDS
PUBLIC	?Console_Input@@YAXPBD@Z			; Console_Input
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
;	COMDAT ?Console_Input@@YAXPBD@Z
_TEXT	SEGMENT
_Input$ = 8						; size = 4
?Console_Input@@YAXPBD@Z PROC NEAR			; Console_Input, COMDAT

; 367  : {

	push	esi

; 368  : 	if (strlen(Input) > 255)

	mov	esi, DWORD PTR _Input$[esp]
	mov	eax, esi
	lea	edx, DWORD PTR [eax+1]
	npad	6
$L85069:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L85069
	sub	eax, edx
	cmp	eax, 255				; 000000ffH
	ja	SHORT $L78989

; 369  : 	{
; 370  : 		return;
; 371  : 	}
; 372  : 	Parse_Console_Input(Input);

	push	esi
	call	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA ; Parse_Console_Input
	add	esp, 4
$L78989:
	pop	esi

; 373  : }

	ret	0
?Console_Input@@YAXPBD@Z ENDP				; Console_Input
_TEXT	ENDS
PUBLIC	?Console_Output@@YAXPBDZZ			; Console_Output
; Function compile flags: /Odty
;	COMDAT ?Console_Output@@YAXPBDZZ
_TEXT	SEGMENT
_Output$ = 8						; size = 4
?Console_Output@@YAXPBDZZ PROC NEAR			; Console_Output, COMDAT

; 375  : IMPLEMENT_THUNK(Output_To_Console)

	mov	eax, DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA ; Output_To_Console
	jmp	eax
?Console_Output@@YAXPBDZZ ENDP				; Console_Output
_TEXT	ENDS
PUBLIC	?Get_Player_Count@@YAHXZ			; Get_Player_Count
; Function compile flags: /Odty
;	COMDAT ?Get_Player_Count@@YAHXZ
_TEXT	SEGMENT
?Get_Player_Count@@YAHXZ PROC NEAR			; Get_Player_Count, COMDAT

; 377  : IMPLEMENT_THUNK(GetPlayerCount)

	mov	eax, DWORD PTR ?GetPlayerCount@@3P6AHXZA ; GetPlayerCount
	jmp	eax
?Get_Player_Count@@YAHXZ ENDP				; Get_Player_Count
_TEXT	ENDS
PUBLIC	?The_Game@@YAPAVcGameData@@XZ			; The_Game
; Function compile flags: /Odty
;	COMDAT ?The_Game@@YAPAVcGameData@@XZ
_TEXT	SEGMENT
?The_Game@@YAPAVcGameData@@XZ PROC NEAR			; The_Game, COMDAT

; 379  : IMPLEMENT_THUNK(Game)

	mov	eax, DWORD PTR ?Game@@3P6APAVcGameData@@XZA ; Game
	jmp	eax
?The_Game@@YAPAVcGameData@@XZ ENDP			; The_Game
_TEXT	ENDS
PUBLIC	?The_Skirmish_Game@@YAPAVcGameDataSkirmish@@XZ	; The_Skirmish_Game
; Function compile flags: /Odty
;	COMDAT ?The_Skirmish_Game@@YAPAVcGameDataSkirmish@@XZ
_TEXT	SEGMENT
?The_Skirmish_Game@@YAPAVcGameDataSkirmish@@XZ PROC NEAR ; The_Skirmish_Game, COMDAT

; 381  : IMPLEMENT_THUNK(Skirmish_Game)

	mov	eax, DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA ; Skirmish_Game
	jmp	eax
?The_Skirmish_Game@@YAPAVcGameDataSkirmish@@XZ ENDP	; The_Skirmish_Game
_TEXT	ENDS
PUBLIC	?The_Cnc_Game@@YAPAVcGameDataCnc@@XZ		; The_Cnc_Game
; Function compile flags: /Odty
;	COMDAT ?The_Cnc_Game@@YAPAVcGameDataCnc@@XZ
_TEXT	SEGMENT
?The_Cnc_Game@@YAPAVcGameDataCnc@@XZ PROC NEAR		; The_Cnc_Game, COMDAT

; 383  : IMPLEMENT_THUNK(Cnc_Game)

	mov	eax, DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA ; Cnc_Game
	jmp	eax
?The_Cnc_Game@@YAPAVcGameDataCnc@@XZ ENDP		; The_Cnc_Game
_TEXT	ENDS
PUBLIC	?The_Single_Player_Game@@YAPAVcGameDataSinglePlayer@@XZ ; The_Single_Player_Game
; Function compile flags: /Odty
;	COMDAT ?The_Single_Player_Game@@YAPAVcGameDataSinglePlayer@@XZ
_TEXT	SEGMENT
?The_Single_Player_Game@@YAPAVcGameDataSinglePlayer@@XZ PROC NEAR ; The_Single_Player_Game, COMDAT

; 385  : IMPLEMENT_THUNK(Single_Player_Game)

	mov	eax, DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA ; Single_Player_Game
	jmp	eax
?The_Single_Player_Game@@YAPAVcGameDataSinglePlayer@@XZ ENDP ; The_Single_Player_Game
_TEXT	ENDS
PUBLIC	?Get_INI@@YAPAVINIClass@@PBD@Z			; Get_INI
; Function compile flags: /Odty
;	COMDAT ?Get_INI@@YAPAVINIClass@@PBD@Z
_TEXT	SEGMENT
_filename$ = 8						; size = 4
?Get_INI@@YAPAVINIClass@@PBD@Z PROC NEAR		; Get_INI, COMDAT

; 387  : IMPLEMENT_THUNK(GetINI)

	mov	eax, DWORD PTR ?GetINI@@3PAXA		; GetINI
	jmp	eax
?Get_INI@@YAPAVINIClass@@PBD@Z ENDP			; Get_INI
_TEXT	ENDS
PUBLIC	?Release_INI@@YAXPAVINIClass@@@Z		; Release_INI
; Function compile flags: /Odty
;	COMDAT ?Release_INI@@YAXPAVINIClass@@@Z
_TEXT	SEGMENT
_ini$ = 8						; size = 4
?Release_INI@@YAXPAVINIClass@@@Z PROC NEAR		; Release_INI, COMDAT

; 389  : IMPLEMENT_THUNK(ReleaseINI)

	mov	eax, DWORD PTR ?ReleaseINI@@3PAXA	; ReleaseINI
	jmp	eax
?Release_INI@@YAXPAVINIClass@@@Z ENDP			; Release_INI
_TEXT	ENDS
PUBLIC	?Get_Int@INIClass@@QAEHPBD0H@Z			; INIClass::Get_Int
; Function compile flags: /Odty
;	COMDAT ?Get_Int@INIClass@@QAEHPBD0H@Z
_TEXT	SEGMENT
_section$ = 8						; size = 4
_entry$ = 12						; size = 4
_defaultvalue$ = 16					; size = 4
?Get_Int@INIClass@@QAEHPBD0H@Z PROC NEAR		; INIClass::Get_Int, COMDAT
; _this$ = ecx

; 391  : IMPLEMENT_THUNK(IniClassGetInt)

	mov	eax, DWORD PTR ?IniClassGetInt@@3PAXA	; IniClassGetInt
	jmp	eax
?Get_Int@INIClass@@QAEHPBD0H@Z ENDP			; INIClass::Get_Int
_TEXT	ENDS
PUBLIC	?Get_Float@INIClass@@QAEMPBD0M@Z		; INIClass::Get_Float
; Function compile flags: /Odty
;	COMDAT ?Get_Float@INIClass@@QAEMPBD0M@Z
_TEXT	SEGMENT
_section$ = 8						; size = 4
_entry$ = 12						; size = 4
_defaultvalue$ = 16					; size = 4
?Get_Float@INIClass@@QAEMPBD0M@Z PROC NEAR		; INIClass::Get_Float, COMDAT
; _this$ = ecx

; 393  : IMPLEMENT_THUNK(IniClassGetDouble)

	mov	eax, DWORD PTR ?IniClassGetDouble@@3PAXA ; IniClassGetDouble
	jmp	eax
?Get_Float@INIClass@@QAEMPBD0M@Z ENDP			; INIClass::Get_Float
_TEXT	ENDS
PUBLIC	?Get_Bool@INIClass@@QAE_NPBD0_N@Z		; INIClass::Get_Bool
; Function compile flags: /Odty
;	COMDAT ?Get_Bool@INIClass@@QAE_NPBD0_N@Z
_TEXT	SEGMENT
_section$ = 8						; size = 4
_entry$ = 12						; size = 4
_defaultvalue$ = 16					; size = 1
?Get_Bool@INIClass@@QAE_NPBD0_N@Z PROC NEAR		; INIClass::Get_Bool, COMDAT
; _this$ = ecx

; 395  : IMPLEMENT_THUNK(IniClassGetBool)

	mov	eax, DWORD PTR ?IniClassGetBool@@3PAXA	; IniClassGetBool
	jmp	eax
?Get_Bool@INIClass@@QAE_NPBD0_N@Z ENDP			; INIClass::Get_Bool
_TEXT	ENDS
PUBLIC	?Get_String@INIClass@@QAEXPBD00PADH@Z		; INIClass::Get_String
; Function compile flags: /Odty
;	COMDAT ?Get_String@INIClass@@QAEXPBD00PADH@Z
_TEXT	SEGMENT
_section$ = 8						; size = 4
_entry$ = 12						; size = 4
_defaultvalue$ = 16					; size = 4
_result$ = 20						; size = 4
_size$ = 24						; size = 4
?Get_String@INIClass@@QAEXPBD00PADH@Z PROC NEAR		; INIClass::Get_String, COMDAT
; _this$ = ecx

; 397  : IMPLEMENT_THUNK(IniClassGetString)

	mov	eax, DWORD PTR ?IniClassGetString@@3PAXA ; IniClassGetString
	jmp	eax
?Get_String@INIClass@@QAEXPBD00PADH@Z ENDP		; INIClass::Get_String
_TEXT	ENDS
PUBLIC	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
; Function compile flags: /Odty
;	COMDAT ?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z PROC NEAR ; TeamPurchaseSettingsDefClass::Get_Definition, COMDAT

; 399  : IMPLEMENT_THUNK(Find_Team_Purchase_Definition)

	mov	eax, DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA ; Find_Team_Purchase_Definition
	jmp	eax
?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ENDP ; TeamPurchaseSettingsDefClass::Get_Definition
_TEXT	ENDS
PUBLIC	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
; Function compile flags: /Odty
;	COMDAT ?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
_team$ = 12						; size = 4
?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z PROC NEAR ; PurchaseSettingsDefClass::Find_Definition, COMDAT

; 401  : IMPLEMENT_THUNK(Find_Purchase_Definition)

	mov	eax, DWORD PTR ?Find_Purchase_Definition@@3PAXA ; Find_Purchase_Definition
	jmp	eax
?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ENDP ; PurchaseSettingsDefClass::Find_Definition
_TEXT	ENDS
PUBLIC	?Find_Base@BaseControllerClass@@SAPAV1@H@Z	; BaseControllerClass::Find_Base
; Function compile flags: /Odty
;	COMDAT ?Find_Base@BaseControllerClass@@SAPAV1@H@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Base@BaseControllerClass@@SAPAV1@H@Z PROC NEAR	; BaseControllerClass::Find_Base, COMDAT

; 403  : IMPLEMENT_THUNK(FindBase)

	mov	eax, DWORD PTR ?FindBase@@3PAXA		; FindBase
	jmp	eax
?Find_Base@BaseControllerClass@@SAPAV1@H@Z ENDP		; BaseControllerClass::Find_Base
_TEXT	ENDS
PUBLIC	?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ ; BaseControllerClass::Get_Harvester_Vehicle
; Function compile flags: /Odty
;	COMDAT ?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ
_TEXT	SEGMENT
?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ PROC NEAR ; BaseControllerClass::Get_Harvester_Vehicle, COMDAT
; _this$ = ecx

; 405  : IMPLEMENT_THUNK(GetHarvester)

	mov	eax, DWORD PTR ?GetHarvester@@3PAXA	; GetHarvester
	jmp	eax
?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ ENDP ; BaseControllerClass::Get_Harvester_Vehicle
_TEXT	ENDS
PUBLIC	?Power_Base@BaseControllerClass@@QAEX_N@Z	; BaseControllerClass::Power_Base
; Function compile flags: /Odty
;	COMDAT ?Power_Base@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT
_Power$ = 8						; size = 1
?Power_Base@BaseControllerClass@@QAEX_N@Z PROC NEAR	; BaseControllerClass::Power_Base, COMDAT
; _this$ = ecx

; 407  : IMPLEMENT_THUNK(PowerBase)

	mov	eax, DWORD PTR ?PowerBase@@3PAXA	; PowerBase
	jmp	eax
?Power_Base@BaseControllerClass@@QAEX_N@Z ENDP		; BaseControllerClass::Power_Base
_TEXT	ENDS
PUBLIC	?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Can_Generate_Soldiers
; Function compile flags: /Odty
;	COMDAT ?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT
_CanGenerate$ = 8					; size = 1
?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z PROC NEAR ; BaseControllerClass::Set_Can_Generate_Soldiers, COMDAT
; _this$ = ecx

; 409  : IMPLEMENT_THUNK(SetCanGenerateSoldiers)

	mov	eax, DWORD PTR ?SetCanGenerateSoldiers@@3PAXA ; SetCanGenerateSoldiers
	jmp	eax
?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z ENDP ; BaseControllerClass::Set_Can_Generate_Soldiers
_TEXT	ENDS
PUBLIC	?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Can_Generate_Vehicles
; Function compile flags: /Odty
;	COMDAT ?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT
_CanGenerate$ = 8					; size = 1
?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z PROC NEAR ; BaseControllerClass::Set_Can_Generate_Vehicles, COMDAT
; _this$ = ecx

; 411  : IMPLEMENT_THUNK(SetCanGenerateVehicles)

	mov	eax, DWORD PTR ?SetCanGenerateVehicles@@3PAXA ; SetCanGenerateVehicles
	jmp	eax
?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z ENDP ; BaseControllerClass::Set_Can_Generate_Vehicles
_TEXT	ENDS
PUBLIC	?Destroy_Base@BaseControllerClass@@QAEXXZ	; BaseControllerClass::Destroy_Base
; Function compile flags: /Odty
;	COMDAT ?Destroy_Base@BaseControllerClass@@QAEXXZ
_TEXT	SEGMENT
?Destroy_Base@BaseControllerClass@@QAEXXZ PROC NEAR	; BaseControllerClass::Destroy_Base, COMDAT
; _this$ = ecx

; 413  : IMPLEMENT_THUNK(DestroyBase)

	mov	eax, DWORD PTR ?DestroyBase@@3PAXA	; DestroyBase
	jmp	eax
?Destroy_Base@BaseControllerClass@@QAEXXZ ENDP		; BaseControllerClass::Destroy_Base
_TEXT	ENDS
PUBLIC	?Enable_Radar@BaseControllerClass@@QAEX_N@Z	; BaseControllerClass::Enable_Radar
; Function compile flags: /Odty
;	COMDAT ?Enable_Radar@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT
_Enable$ = 8						; size = 1
?Enable_Radar@BaseControllerClass@@QAEX_N@Z PROC NEAR	; BaseControllerClass::Enable_Radar, COMDAT
; _this$ = ecx

; 415  : IMPLEMENT_THUNK(EnableRadar)

	mov	eax, DWORD PTR ?EnableRadar@@3PAXA	; EnableRadar
	jmp	eax
?Enable_Radar@BaseControllerClass@@QAEX_N@Z ENDP	; BaseControllerClass::Enable_Radar
_TEXT	ENDS
PUBLIC	?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Beacon_Destroyed_Base
; Function compile flags: /Odty
;	COMDAT ?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z
_TEXT	SEGMENT
_BeaconDestroyed$ = 8					; size = 1
?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z PROC NEAR ; BaseControllerClass::Set_Beacon_Destroyed_Base, COMDAT
; _this$ = ecx

; 417  : IMPLEMENT_THUNK(SetBeaconDestroyedBase)

	mov	eax, DWORD PTR ?SetBeaconDestroyedBase@@3PAXA ; SetBeaconDestroyedBase
	jmp	eax
?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z ENDP ; BaseControllerClass::Set_Beacon_Destroyed_Base
_TEXT	ENDS
PUBLIC	?Find_Building@BaseControllerClass@@QAEPAEI@Z	; BaseControllerClass::Find_Building
; Function compile flags: /Odty
;	COMDAT ?Find_Building@BaseControllerClass@@QAEPAEI@Z
_TEXT	SEGMENT
_Type$ = 8						; size = 4
?Find_Building@BaseControllerClass@@QAEPAEI@Z PROC NEAR	; BaseControllerClass::Find_Building, COMDAT
; _this$ = ecx

; 419  : IMPLEMENT_THUNK(FindBuilding)

	mov	eax, DWORD PTR ?FindBuilding@@3PAXA	; FindBuilding
	jmp	eax
?Find_Building@BaseControllerClass@@QAEPAEI@Z ENDP	; BaseControllerClass::Find_Building
_TEXT	ENDS
PUBLIC	?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z	; Find_Closest_Zone
; Function compile flags: /Odty
;	COMDAT ?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z
_TEXT	SEGMENT
_Location$ = 8						; size = 4
_Type$ = 12						; size = 4
?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z PROC NEAR	; Find_Closest_Zone, COMDAT

; 421  : IMPLEMENT_THUNK(FindClosestZone)

	mov	eax, DWORD PTR ?FindClosestZone@@3PAXA	; FindClosestZone
	jmp	eax
?Find_Closest_Zone@@YAPAEAAUVector3@@I@Z ENDP		; Find_Closest_Zone
_TEXT	ENDS
PUBLIC	?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z	; Overlap_Test
; Function compile flags: /Odty
;	COMDAT ?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z
_TEXT	SEGMENT
_box$ = 8						; size = 4
_v$ = 12						; size = 4
?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z PROC NEAR ; Overlap_Test, COMDAT

; 423  : IMPLEMENT_THUNK(overlap)

	mov	eax, DWORD PTR ?overlap@@3PAXA		; overlap
	jmp	eax
?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z ENDP	; Overlap_Test
_TEXT	ENDS
PUBLIC	?Uninitialised_Grow@StringClass@@QAEXH@Z	; StringClass::Uninitialised_Grow
; Function compile flags: /Odty
;	COMDAT ?Uninitialised_Grow@StringClass@@QAEXH@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
?Uninitialised_Grow@StringClass@@QAEXH@Z PROC NEAR	; StringClass::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 425  : IMPLEMENT_THUNK(UninitialisedGrow)

	mov	eax, DWORD PTR ?UninitialisedGrow@@3PAXA ; UninitialisedGrow
	jmp	eax
?Uninitialised_Grow@StringClass@@QAEXH@Z ENDP		; StringClass::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	?Uninitialised_Grow@WideStringClass@@QAEXH@Z	; WideStringClass::Uninitialised_Grow
; Function compile flags: /Odty
;	COMDAT ?Uninitialised_Grow@WideStringClass@@QAEXH@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
?Uninitialised_Grow@WideStringClass@@QAEXH@Z PROC NEAR	; WideStringClass::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 427  : IMPLEMENT_THUNK(WideUninitialisedGrow)

	mov	eax, DWORD PTR ?WideUninitialisedGrow@@3PAXA ; WideUninitialisedGrow
	jmp	eax
?Uninitialised_Grow@WideStringClass@@QAEXH@Z ENDP	; WideStringClass::Uninitialised_Grow
_TEXT	ENDS
PUBLIC	?Convert_From@WideStringClass@@QAEXPBD@Z	; WideStringClass::Convert_From
; Function compile flags: /Odty
;	COMDAT ?Convert_From@WideStringClass@@QAEXPBD@Z
_TEXT	SEGMENT
_text$ = 8						; size = 4
?Convert_From@WideStringClass@@QAEXPBD@Z PROC NEAR	; WideStringClass::Convert_From, COMDAT
; _this$ = ecx

; 429  : IMPLEMENT_THUNK(ConvertFrom)

	mov	eax, DWORD PTR ?ConvertFrom@@3PAXA	; ConvertFrom
	jmp	eax
?Convert_From@WideStringClass@@QAEXPBD@Z ENDP		; WideStringClass::Convert_From
_TEXT	ENDS
PUBLIC	?Get_String@WideStringClass@@QAEXH_N@Z		; WideStringClass::Get_String
; Function compile flags: /Odty
;	COMDAT ?Get_String@WideStringClass@@QAEXH_N@Z
_TEXT	SEGMENT
_length$ = 8						; size = 4
_is_temp$ = 12						; size = 1
?Get_String@WideStringClass@@QAEXH_N@Z PROC NEAR	; WideStringClass::Get_String, COMDAT
; _this$ = ecx

; 431  : IMPLEMENT_THUNK(GetString)

	mov	eax, DWORD PTR ?GetString@@3PAXA	; GetString
	jmp	eax
?Get_String@WideStringClass@@QAEXH_N@Z ENDP		; WideStringClass::Get_String
_TEXT	ENDS
PUBLIC	?Free_String@WideStringClass@@QAEXXZ		; WideStringClass::Free_String
; Function compile flags: /Odty
;	COMDAT ?Free_String@WideStringClass@@QAEXXZ
_TEXT	SEGMENT
?Free_String@WideStringClass@@QAEXXZ PROC NEAR		; WideStringClass::Free_String, COMDAT
; _this$ = ecx

; 433  : IMPLEMENT_THUNK(FreeString)

	mov	eax, DWORD PTR ?FreeString@@3PAXA	; FreeString
	jmp	eax
?Free_String@WideStringClass@@QAEXXZ ENDP		; WideStringClass::Free_String
_TEXT	ENDS
PUBLIC	??2@YAPAXI@Z					; operator new
EXTRN	_Init:NEAR
; Function compile flags: /Ogty
;	COMDAT ??2@YAPAXI@Z
_TEXT	SEGMENT
_nbytes$ = 8						; size = 4
??2@YAPAXI@Z PROC NEAR					; operator new, COMDAT

; 439  : 	if (!RenNew)

	mov	eax, DWORD PTR ?RenNew@@3P6APAXK@ZA	; RenNew
	test	eax, eax
	jne	SHORT $L79109

; 440  : 	{
; 441  : 		Init();

	call	_Init
$L79109:

; 442  : 	}
; 443  : 	void *x = RenNew((unsigned long)nbytes);

	jmp	DWORD PTR ?RenNew@@3P6APAXK@ZA		; RenNew
??2@YAPAXI@Z ENDP					; operator new
_TEXT	ENDS
PUBLIC	??_U@YAPAXI@Z					; operator new[]
; Function compile flags: /Ogty
;	COMDAT ??_U@YAPAXI@Z
_TEXT	SEGMENT
_nbytes$ = 8						; size = 4
??_U@YAPAXI@Z PROC NEAR					; operator new[], COMDAT

; 449  : 	if (!RenVecNew)

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	test	eax, eax
	jne	SHORT $L79115

; 450  : 	{
; 451  : 		Init();

	call	_Init
$L79115:

; 452  : 	}
; 453  : 	void *x = RenVecNew((unsigned long)nbytes);

	jmp	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
??_U@YAPAXI@Z ENDP					; operator new[]
_TEXT	ENDS
PUBLIC	??3@YAXPAX@Z					; operator delete
; Function compile flags: /Ogty
;	COMDAT ??3@YAXPAX@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
??3@YAXPAX@Z PROC NEAR					; operator delete, COMDAT

; 459  : 	RenDelete(ptr);

	jmp	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
??3@YAXPAX@Z ENDP					; operator delete
_TEXT	ENDS
PUBLIC	??_V@YAXPAX@Z					; operator delete[]
; Function compile flags: /Ogty
;	COMDAT ??_V@YAXPAX@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
??_V@YAXPAX@Z PROC NEAR					; operator delete[], COMDAT

; 464  : 	RenVecDelete(ptr);

	jmp	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA	; RenVecDelete
??_V@YAXPAX@Z ENDP					; operator delete[]
_TEXT	ENDS
PUBLIC	?InitEngine@@YAXXZ				; InitEngine
; Function compile flags: /Ogty
;	COMDAT ?InitEngine@@YAXXZ
_TEXT	SEGMENT
?InitEngine@@YAXXZ PROC NEAR				; InitEngine, COMDAT

; 470  : 	switch (Exe)

	mov	eax, DWORD PTR ?Exe@@3HA		; Exe
	cmp	eax, 4
	ja	$L79127
	jmp	DWORD PTR $L85149[eax*4]
$L79130:

; 471  : 	{
; 472  : 	case 0: //game.exe
; 473  : 		{
; 474  : 			ConvertFrom = (void *)0x005DDC50;
; 475  : 			GetString = (void *)0x005DD7A0;
; 476  : 			FreeString = (void *)0x005DD990;
; 477  : 			GameMode = (unsigned int *)0x0081F5F0;
; 478  : 			SetMoney = (SetStuff)0x0040FA20;
; 479  : 			SetScore = (SetStuff)0x0040F0D0;
; 480  : 			overlap = (void *)0x00616B90;
; 481  : 			Collect_Building_Components = (cbc)0x006843E0;
; 482  : 			Start_Observers = (startobservers)0x006B6C40;
; 483  : 			Create_Library_Object = (CreateLibraryObject)0x006C6420;
; 484  : 			FindClosestZone = (void *)0x00722B90;
; 485  : 			InsideMe = (im)0x00722B40;
; 486  : 			IsMapVTOL = (bool *)0x0085E31C;
; 487  : 			FindBuilding = (void *)0x006EF6D0;
; 488  : 			PowerBase = (void *)0x006EF310;
; 489  : 			SetCanGenerateSoldiers = (void *)0x006EF420;
; 490  : 			SetCanGenerateVehicles = (void *)0x006EF440;
; 491  : 			DestroyBase = (void *)0x006EF840;
; 492  : 			SetBeaconDestroyedBase = (void *)0x006EF8D0;
; 493  : 			EnableRadar = (void *)0x006EFD00;
; 494  : 			DefinitionArray = (PurchaseSettingsDefClass **)0x0085E180;
; 495  : 			EmptyStr = (StringClass *)0x00809D38;
; 496  : 			UninitialisedGrow = (void *)0x005DD330;
; 497  : 			WideUninitialisedGrow = (void *)0x005DD910;
; 498  : 			Find_Purchase_Definition = (void *)0x006F2BD0;
; 499  : 			Find_Team_Purchase_Definition = (void *)0x006F3430;
; 500  : 			Find_Definition = (FindDefinition)0x00526760;
; 501  : 			GetHarvester = (void *)0x006EFD60;
; 502  : 			Completly_Damaged = (CompletlyDamaged)0x0070AA90;
; 503  : 			GetINI = (void *)0x006DAB30;
; 504  : 			ReleaseINI = (void *)0x006DABE0;
; 505  : 			IniClassGetInt = (void *)0x005E10B0;
; 506  : 			IniClassGetDouble = (void *)0x005E1670;
; 507  : 			IniClassGetBool = (void *)0x005E27A0;
; 508  : 			IniClassGetString = (void *)0x005E1DE0;
; 509  : 			Get_VehicleName = (GetVehicleName)0x0067C740;
; 510  : 			Get_Beacon_Owner = (GetBeaconOwner)0x0070AA50;
; 511  : 			Get_Color_For_Team = (GetTeamColor)0x006D99E0;
; 512  : 			GetColor = (GetPlayerColor)0x0040E530;
; 513  : 			Get_Obj_Color = (GetObjColor)0x006D97B0;
; 514  : 			C4Defuse = (Defuse)0x0070D610;
; 515  : 			GetVehicleCount = (GetCount)0x006EE060;
; 516  : 			FindBase = (void *)0x006EF790;
; 517  : 			PrivateMessageColor = (float *)0x0082FC20;
; 518  : 			PublicMessageColor = (float *)0x0082FBA0;
; 519  : 			GDIHouseColor = (float *)0x0085CAA8;
; 520  : 			NodHouseColor = (float *)0x0085CA98;
; 521  : 			Get_TDB_Object = (GetTDBObject)0x0076C5B0;
; 522  : 			Get_Safe_Data_Int = (GetSafeDataInt)0x00408280;
; 523  : 			Get_Safe_Data_Float = (GetSafeDataFloat)0x00413510;
; 524  : 			Get_Safe_Data_Float_Ref = (GetSafeDataFloatRef)0x00428F80;
; 525  : 			Set_Safe_Data_Float_Ref = (SetSafeDataFloatRef)0x00694F90;
; 526  : 			GameType = (int *)0x00856518;
; 527  : 			IsListed = (bool *)0x0082FD94;
; 528  : 			Game_Mode_Find = (GameModeFind)0x004372B0;
; 529  : 			SpawnCharGDI = (char *)0x007F5428;
; 530  : 			SpawnCharNod = (char *)0x007F5440;
; 531  : 			PacketManager = (void *)0x00854708;
; 532  : 			Bandwidth_Out = (BandwidthOut)0x0061D310;
; 533  : 			Mine_Limit = (char *)0x0070DD95;
; 534  : 			RenNew = (rennew)0x00672B70;

	mov	eax, 6761328				; 00672b70H
	mov	DWORD PTR ?RenNew@@3P6APAXK@ZA, eax	; RenNew

; 535  : 			RenVecNew = (rennew)0x00672B70;

	mov	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, eax	; RenVecNew

; 536  : 			RenDelete = (rendelete)0x00672C80;

	mov	eax, 6761600				; 00672c80H
	mov	DWORD PTR ?RenDelete@@3P6AXPAX@ZA, eax	; RenDelete

; 537  : 			RenVecDelete = (rendelete)0x00672C80;

	mov	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA, eax ; RenVecDelete
	mov	DWORD PTR ?ConvertFrom@@3PAXA, 6151248	; ConvertFrom, 005ddc50H
	mov	DWORD PTR ?GetString@@3PAXA, 6150048	; GetString, 005dd7a0H
	mov	DWORD PTR ?FreeString@@3PAXA, 6150544	; FreeString, 005dd990H
	mov	DWORD PTR ?GameMode@@3PAIA, 8517104	; GameMode, 0081f5f0H
	mov	DWORD PTR ?SetMoney@@3P6AXM@ZA, 4258336	; SetMoney, 0040fa20H
	mov	DWORD PTR ?SetScore@@3P6AXM@ZA, 4255952	; SetScore, 0040f0d0H
	mov	DWORD PTR ?overlap@@3PAXA, 6384528	; overlap, 00616b90H
	mov	DWORD PTR ?Collect_Building_Components@@3P6AXXZA, 6833120 ; Collect_Building_Components, 006843e0H
	mov	DWORD PTR ?Start_Observers@@3P6AXXZA, 7040064 ; Start_Observers, 006b6c40H
	mov	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA, 7103520 ; Create_Library_Object, 006c6420H
	mov	DWORD PTR ?FindClosestZone@@3PAXA, 7482256 ; FindClosestZone, 00722b90H
	mov	DWORD PTR ?InsideMe@@3P6A_NPAE@ZA, 7482176 ; InsideMe, 00722b40H
	mov	DWORD PTR ?IsMapVTOL@@3PA_NA, 8774428	; IsMapVTOL, 0085e31cH
	mov	DWORD PTR ?FindBuilding@@3PAXA, 7272144	; FindBuilding, 006ef6d0H
	mov	DWORD PTR ?PowerBase@@3PAXA, 7271184	; PowerBase, 006ef310H
	mov	DWORD PTR ?SetCanGenerateSoldiers@@3PAXA, 7271456 ; SetCanGenerateSoldiers, 006ef420H
	mov	DWORD PTR ?SetCanGenerateVehicles@@3PAXA, 7271488 ; SetCanGenerateVehicles, 006ef440H
	mov	DWORD PTR ?DestroyBase@@3PAXA, 7272512	; DestroyBase, 006ef840H
	mov	DWORD PTR ?SetBeaconDestroyedBase@@3PAXA, 7272656 ; SetBeaconDestroyedBase, 006ef8d0H
	mov	DWORD PTR ?EnableRadar@@3PAXA, 7273728	; EnableRadar, 006efd00H
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 8774016 ; DefinitionArray, 0085e180H
	mov	DWORD PTR ?EmptyStr@@3PAVStringClass@@A, 8428856 ; EmptyStr, 00809d38H
	mov	DWORD PTR ?UninitialisedGrow@@3PAXA, 6148912 ; UninitialisedGrow, 005dd330H
	mov	DWORD PTR ?WideUninitialisedGrow@@3PAXA, 6150416 ; WideUninitialisedGrow, 005dd910H
	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 7285712 ; Find_Purchase_Definition, 006f2bd0H
	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 7287856 ; Find_Team_Purchase_Definition, 006f3430H
	mov	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA, 5400416 ; Find_Definition, 00526760H
	mov	DWORD PTR ?GetHarvester@@3PAXA, 7273824	; GetHarvester, 006efd60H
	mov	DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA, 7383696 ; Completly_Damaged, 0070aa90H
	mov	DWORD PTR ?GetINI@@3PAXA, 7187248	; GetINI, 006dab30H
	mov	DWORD PTR ?ReleaseINI@@3PAXA, 7187424	; ReleaseINI, 006dabe0H
	mov	DWORD PTR ?IniClassGetInt@@3PAXA, 6164656 ; IniClassGetInt, 005e10b0H
	mov	DWORD PTR ?IniClassGetDouble@@3PAXA, 6166128 ; IniClassGetDouble, 005e1670H
	mov	DWORD PTR ?IniClassGetBool@@3PAXA, 6170528 ; IniClassGetBool, 005e27a0H
	mov	DWORD PTR ?IniClassGetString@@3PAXA, 6168032 ; IniClassGetString, 005e1de0H
	mov	DWORD PTR ?Get_VehicleName@@3P6APA_WXZA, 6801216 ; Get_VehicleName, 0067c740H
	mov	DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA, 7383632 ; Get_Beacon_Owner, 0070aa50H
	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 7182816 ; Get_Color_For_Team, 006d99e0H
	mov	DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA, 4252976 ; GetColor, 0040e530H
	mov	DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA, 7182256 ; Get_Obj_Color, 006d97b0H
	mov	DWORD PTR ?C4Defuse@@3P6AXXZA, 7394832	; C4Defuse, 0070d610H
	mov	DWORD PTR ?GetVehicleCount@@3P6AIXZA, 7266400 ; GetVehicleCount, 006ee060H
	mov	DWORD PTR ?FindBase@@3PAXA, 7272336	; FindBase, 006ef790H
	mov	DWORD PTR ?PrivateMessageColor@@3PAMA, 8584224 ; PrivateMessageColor, 0082fc20H
	mov	DWORD PTR ?PublicMessageColor@@3PAMA, 8584096 ; PublicMessageColor, 0082fba0H
	mov	DWORD PTR ?GDIHouseColor@@3PAMA, 8768168 ; GDIHouseColor, 0085caa8H
	mov	DWORD PTR ?NodHouseColor@@3PAMA, 8768152 ; NodHouseColor, 0085ca98H
	mov	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA, 7783856 ; Get_TDB_Object, 0076c5b0H
	mov	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA, 4227712 ; Get_Safe_Data_Int, 00408280H
	mov	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA, 4273424 ; Get_Safe_Data_Float, 00413510H
	mov	DWORD PTR ?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA, 4362112 ; Get_Safe_Data_Float_Ref, 00428f80H
	mov	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA, 6901648 ; Set_Safe_Data_Float_Ref, 00694f90H
	mov	DWORD PTR ?GameType@@3PAHA, 8742168	; GameType, 00856518H
	mov	DWORD PTR ?IsListed@@3PA_NA, 8584596	; IsListed, 0082fd94H
	mov	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA, 4420272 ; Game_Mode_Find, 004372b0H
	mov	DWORD PTR ?SpawnCharGDI@@3PADA, 8344616	; SpawnCharGDI, 007f5428H
	mov	DWORD PTR ?SpawnCharNod@@3PADA, 8344640	; SpawnCharNod, 007f5440H
	mov	DWORD PTR ?PacketManager@@3PAXA, 8734472 ; PacketManager, 00854708H
	mov	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA, 6411024 ; Bandwidth_Out, 0061d310H
	mov	DWORD PTR ?Mine_Limit@@3PADA, 7396757	; Mine_Limit, 0070dd95H

; 538  : 			Get_Address = (GetAddress)0x0061DAF0;

	mov	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA, 6413040 ; Get_Address, 0061daf0H

; 539  : 			Get_Remote_Host = (GetRemoteHost)0x0061A840;

	mov	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA, 6400064 ; Get_Remote_Host, 0061a840H

; 540  : 			ServerConnection = (char **)0x00820D9C;

	mov	DWORD PTR ?ServerConnection@@3PAPADA, 8523164 ; ServerConnection, 00820d9cH

; 541  : 			Game = (TheGame)0x00477CA0;

	mov	DWORD PTR ?Game@@3P6APAVcGameData@@XZA, 4684960 ; Game, 00477ca0H

; 542  : 			Find_Team = (FindTeam)0x0041DA10;

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

; 543  : 			TallyTeamSize = (tts)0x004170D0;

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

; 544  : 			Skirmish_Game = (TheSkirmishGame)0x00477CC0;

	mov	DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA, 4684992 ; Skirmish_Game, 00477cc0H

; 545  : 			Cnc_Game = (TheCncGame)0x00477CD0;

	mov	DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA, 4685008 ; Cnc_Game, 00477cd0H

; 546  : 			Single_Player_Game = (TheSinglePlayerGame)0x00477CB0;

	mov	DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA, 4684976 ; Single_Player_Game, 00477cb0H

; 547  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0x00695AF0;

	mov	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA, 6904560 ; Get_Safe_Data_Uint_Ref, 00695af0H

; 548  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0x00696200;

	mov	eax, 6906368				; 00696200H

; 549  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0x00696200;
; 550  : 			Check_Transitions = (CheckTransitions)0x006D55C0;

	mov	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA, 7165376 ; Check_Transitions, 006d55c0H

; 551  : 			Set_Transform = (SetTransform)0x006A5EF0;

	mov	DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA, 6971120 ; Set_Transform, 006a5ef0H

; 552  : 			Get_Transform = (GetTransform)0x006A5F10;

	mov	DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA, 6971152 ; Get_Transform, 006a5f10H

; 553  : 			BuildingGameObjList = (SList<GameObject> *)0x00856FE8;

	mov	DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A, 8744936 ; BuildingGameObjList, 00856fe8H

; 554  : 			SmartGameObjList = (SList<GameObject> *)0x00856FD8;

	mov	DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A, 8744920 ; SmartGameObjList, 00856fd8H

; 555  : 			BaseGameObjList = (SList<GameObject> *)0x00856FF8;

	mov	DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A, 8744952 ; BaseGameObjList, 00856ff8H

; 556  : 			FindPlayer = (Find_Player)0x004157E0;

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

; 557  : 			FindNamedDef = (Find_Named_Def)0x00526860;

	mov	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA, 5400672 ; FindNamedDef, 00526860H

; 558  : 			SoldierReInit = (ReInit)0x006C7410;

	mov	DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA, 7107600 ; SoldierReInit, 006c7410H

; 559  : 			Post_ReInit = (PostReInit)0x006B65F0;

	mov	DWORD PTR ?Post_ReInit@@3P6AXXZA, 7038448 ; Post_ReInit, 006b65f0H

; 560  : 			SetMaxHealth = (SetMax)0x00691820;

	mov	DWORD PTR ?SetMaxHealth@@3P6AXM@ZA, 6887456 ; SetMaxHealth, 00691820H

; 561  : 			SetMaxShieldStrength = (SetMax)0x006930E0;

	mov	DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA, 6893792 ; SetMaxShieldStrength, 006930e0H

; 562  : 			Grant_Supplies = (GrantSupplies)0x00470AC0;

	mov	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA, 4655808 ; Grant_Supplies, 00470ac0H

; 563  : 			Powerup_Grant = (PowerupGrant)0x006F09F0;

	mov	DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA, 7277040 ; Powerup_Grant, 006f09f0H

; 564  : 			Get_Armor_Name = (GetArmorName)0x006877D0;

	mov	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA, 6846416 ; Get_Armor_Name, 006877d0H

; 565  : 			Get_Armor_Type = (GetArmorType)0x00687750;

	mov	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA, 6846288 ; Get_Armor_Type, 00687750H

; 566  : 			Mark_Owner_Dirty = (MarkOwnerDirty)0x00693740;

	mov	DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA, 6895424 ; Mark_Owner_Dirty, 00693740H

; 567  : 			Is_Available_For_Purchase = (IsAvailable)0x006EE010;

	mov	DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA, 7266320 ; Is_Available_For_Purchase, 006ee010H

; 568  : 			Request_Vehicle = (RequestVehicle)0x006EE1A0;

	mov	DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA, 7266720 ; Request_Vehicle, 006ee1a0H

; 569  : 			ToggleFly = (ToggleFlyMode)0x006CFC80;

	mov	DWORD PTR ?ToggleFly@@3P6AXXZA, 7142528	; ToggleFly, 006cfc80H

; 570  : 			Parse_Console_Input = (ConsoleInput)0x004287E0;

	mov	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA, 4360160 ; Parse_Console_Input, 004287e0H

; 571  : 			Output_To_Console = (ConsoleOut)0x00428B50;

	mov	DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA, 4361040 ; Output_To_Console, 00428b50H

; 572  : 			SetPlayerType = (spt)0x0040D600;

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

; 573  : 			GetPlayerCount = (gpc)0x00417040;

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

; 964  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA, eax ; Set_Safe_Data_Uint_Ref

; 965  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA, eax ; Set_Safe_Data_Int_Ref

; 990  : 		}
; 991  : 		break;
; 992  : 	}
; 993  : }

	ret	0
$L79231:

; 574  : 		}
; 575  : 		break;
; 576  : 	case 1: //server.dat
; 577  : 		{
; 578  : 			ConvertFrom = (void *)0x005DD4F0;
; 579  : 			GetString = (void *)0x005DD040;
; 580  : 			FreeString = (void *)0x005DD230;
; 581  : 			GameMode = (unsigned int *)0x0081E7D8;
; 582  : 			SetMoney = (SetStuff)0x0040FA20;
; 583  : 			SetScore = (SetStuff)0x0040F0D0;
; 584  : 			overlap = (void *)0x00616430;
; 585  : 			Collect_Building_Components = (cbc)0x00683C80;
; 586  : 			Start_Observers = (startobservers)0x006B64E0;
; 587  : 			Create_Library_Object = (CreateLibraryObject)0x006C5CC0;
; 588  : 			FindClosestZone = (void *)0x00722150;
; 589  : 			InsideMe = (im)0x00722100;
; 590  : 			IsMapVTOL = (bool *)0x0085D4F4;
; 591  : 			FindBuilding = (void *)0x006EEC90;
; 592  : 			PowerBase = (void *)0x006EE8D0;
; 593  : 			SetCanGenerateSoldiers = (void *)0x006EE9E0;
; 594  : 			SetCanGenerateVehicles = (void *)0x006EEA00;
; 595  : 			DestroyBase = (void *)0x006EEE00;
; 596  : 			SetBeaconDestroyedBase = (void *)0x006EEE90;
; 597  : 			EnableRadar = (void *)0x006EF2C0;
; 598  : 			DefinitionArray = (PurchaseSettingsDefClass **)0x0085D358;
; 599  : 			EmptyStr = (StringClass *)0x00808F10;
; 600  : 			UninitialisedGrow = (void *)0x005DCBD0;
; 601  : 			WideUninitialisedGrow = (void *)0x005DD1B0;
; 602  : 			Find_Purchase_Definition = (void *)0x006F2190;
; 603  : 			Find_Team_Purchase_Definition = (void *)0x006F29F0;
; 604  : 			Find_Definition = (FindDefinition)0x00526000;
; 605  : 			GetHarvester = (void *)0x006EF320;
; 606  : 			Completly_Damaged = (CompletlyDamaged)0x0070A050;
; 607  : 			GetINI = (void *)0x006DA3D0;
; 608  : 			ReleaseINI = (void *)0x006DA480;
; 609  : 			IniClassGetInt = (void *)0x005E0950;
; 610  : 			IniClassGetDouble = (void *)0x005E0F10;
; 611  : 			IniClassGetBool = (void *)0x005E2040;
; 612  : 			IniClassGetString = (void *)0x005E1680;
; 613  : 			Get_VehicleName = (GetVehicleName)0x0067BFE0;
; 614  : 			Get_Beacon_Owner = (GetBeaconOwner)0x0070A010;
; 615  : 			Get_Color_For_Team = (GetTeamColor)0x006D9280;
; 616  : 			GetColor = (GetPlayerColor)0x0040E530;
; 617  : 			Get_Obj_Color = (GetObjColor)0x006D9050;
; 618  : 			C4Defuse = (Defuse)0x0070CBD0;
; 619  : 			GetVehicleCount = (GetCount)0x006ED620;
; 620  : 			FindBase = (void *)0x006EED50;
; 621  : 			PrivateMessageColor = (float *)0x0082EE08;
; 622  : 			PublicMessageColor = (float *)0x0082ED88;
; 623  : 			GDIHouseColor = (float *)0x0085BC90;
; 624  : 			NodHouseColor = (float *)0x0085BC80;
; 625  : 			Get_TDB_Object = (GetTDBObject)0x0076BE50;
; 626  : 			Get_Safe_Data_Int = (GetSafeDataInt)0x00408280;
; 627  : 			Get_Safe_Data_Float = (GetSafeDataFloat)0x00413510;
; 628  : 			Get_Safe_Data_Float_Ref = (GetSafeDataFloatRef)0x00429100;
; 629  : 			Set_Safe_Data_Float_Ref = (SetSafeDataFloatRef)0x00694830;
; 630  : 			GameType = (int *)0x00855700;
; 631  : 			IsListed = (bool *)0x0082EF7C;
; 632  : 			Game_Mode_Find = (GameModeFind)0x00437350;
; 633  : 			SpawnCharGDI = (char *)0x007F442C;
; 634  : 			SpawnCharNod = (char *)0x007F4444;
; 635  : 			PacketManager = (void *)0x008538F0;
; 636  : 			Bandwidth_Out = (BandwidthOut)0x0061CBB0;
; 637  : 			Mine_Limit = (char *)0x0070D355;
; 638  : 			RenNew = (rennew)0x00672410;

	mov	eax, 6759440				; 00672410H
	mov	DWORD PTR ?RenNew@@3P6APAXK@ZA, eax	; RenNew

; 639  : 			RenVecNew = (rennew)0x00672410;

	mov	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, eax	; RenVecNew

; 640  : 			RenDelete = (rendelete)0x00672520;

	mov	eax, 6759712				; 00672520H
	mov	DWORD PTR ?RenDelete@@3P6AXPAX@ZA, eax	; RenDelete

; 641  : 			RenVecDelete = (rendelete)0x00672520;

	mov	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA, eax ; RenVecDelete
	mov	DWORD PTR ?ConvertFrom@@3PAXA, 6149360	; ConvertFrom, 005dd4f0H
	mov	DWORD PTR ?GetString@@3PAXA, 6148160	; GetString, 005dd040H
	mov	DWORD PTR ?FreeString@@3PAXA, 6148656	; FreeString, 005dd230H
	mov	DWORD PTR ?GameMode@@3PAIA, 8513496	; GameMode, 0081e7d8H
	mov	DWORD PTR ?SetMoney@@3P6AXM@ZA, 4258336	; SetMoney, 0040fa20H
	mov	DWORD PTR ?SetScore@@3P6AXM@ZA, 4255952	; SetScore, 0040f0d0H
	mov	DWORD PTR ?overlap@@3PAXA, 6382640	; overlap, 00616430H
	mov	DWORD PTR ?Collect_Building_Components@@3P6AXXZA, 6831232 ; Collect_Building_Components, 00683c80H
	mov	DWORD PTR ?Start_Observers@@3P6AXXZA, 7038176 ; Start_Observers, 006b64e0H
	mov	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA, 7101632 ; Create_Library_Object, 006c5cc0H
	mov	DWORD PTR ?FindClosestZone@@3PAXA, 7479632 ; FindClosestZone, 00722150H
	mov	DWORD PTR ?InsideMe@@3P6A_NPAE@ZA, 7479552 ; InsideMe, 00722100H
	mov	DWORD PTR ?IsMapVTOL@@3PA_NA, 8770804	; IsMapVTOL, 0085d4f4H
	mov	DWORD PTR ?FindBuilding@@3PAXA, 7269520	; FindBuilding, 006eec90H
	mov	DWORD PTR ?PowerBase@@3PAXA, 7268560	; PowerBase, 006ee8d0H
	mov	DWORD PTR ?SetCanGenerateSoldiers@@3PAXA, 7268832 ; SetCanGenerateSoldiers, 006ee9e0H
	mov	DWORD PTR ?SetCanGenerateVehicles@@3PAXA, 7268864 ; SetCanGenerateVehicles, 006eea00H
	mov	DWORD PTR ?DestroyBase@@3PAXA, 7269888	; DestroyBase, 006eee00H
	mov	DWORD PTR ?SetBeaconDestroyedBase@@3PAXA, 7270032 ; SetBeaconDestroyedBase, 006eee90H
	mov	DWORD PTR ?EnableRadar@@3PAXA, 7271104	; EnableRadar, 006ef2c0H
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 8770392 ; DefinitionArray, 0085d358H
	mov	DWORD PTR ?EmptyStr@@3PAVStringClass@@A, 8425232 ; EmptyStr, 00808f10H
	mov	DWORD PTR ?UninitialisedGrow@@3PAXA, 6147024 ; UninitialisedGrow, 005dcbd0H
	mov	DWORD PTR ?WideUninitialisedGrow@@3PAXA, 6148528 ; WideUninitialisedGrow, 005dd1b0H
	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 7283088 ; Find_Purchase_Definition, 006f2190H
	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 7285232 ; Find_Team_Purchase_Definition, 006f29f0H
	mov	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA, 5398528 ; Find_Definition, 00526000H
	mov	DWORD PTR ?GetHarvester@@3PAXA, 7271200	; GetHarvester, 006ef320H
	mov	DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA, 7381072 ; Completly_Damaged, 0070a050H
	mov	DWORD PTR ?GetINI@@3PAXA, 7185360	; GetINI, 006da3d0H
	mov	DWORD PTR ?ReleaseINI@@3PAXA, 7185536	; ReleaseINI, 006da480H
	mov	DWORD PTR ?IniClassGetInt@@3PAXA, 6162768 ; IniClassGetInt, 005e0950H
	mov	DWORD PTR ?IniClassGetDouble@@3PAXA, 6164240 ; IniClassGetDouble, 005e0f10H
	mov	DWORD PTR ?IniClassGetBool@@3PAXA, 6168640 ; IniClassGetBool, 005e2040H
	mov	DWORD PTR ?IniClassGetString@@3PAXA, 6166144 ; IniClassGetString, 005e1680H
	mov	DWORD PTR ?Get_VehicleName@@3P6APA_WXZA, 6799328 ; Get_VehicleName, 0067bfe0H
	mov	DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA, 7381008 ; Get_Beacon_Owner, 0070a010H
	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 7180928 ; Get_Color_For_Team, 006d9280H
	mov	DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA, 4252976 ; GetColor, 0040e530H
	mov	DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA, 7180368 ; Get_Obj_Color, 006d9050H
	mov	DWORD PTR ?C4Defuse@@3P6AXXZA, 7392208	; C4Defuse, 0070cbd0H
	mov	DWORD PTR ?GetVehicleCount@@3P6AIXZA, 7263776 ; GetVehicleCount, 006ed620H
	mov	DWORD PTR ?FindBase@@3PAXA, 7269712	; FindBase, 006eed50H
	mov	DWORD PTR ?PrivateMessageColor@@3PAMA, 8580616 ; PrivateMessageColor, 0082ee08H
	mov	DWORD PTR ?PublicMessageColor@@3PAMA, 8580488 ; PublicMessageColor, 0082ed88H
	mov	DWORD PTR ?GDIHouseColor@@3PAMA, 8764560 ; GDIHouseColor, 0085bc90H
	mov	DWORD PTR ?NodHouseColor@@3PAMA, 8764544 ; NodHouseColor, 0085bc80H
	mov	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA, 7781968 ; Get_TDB_Object, 0076be50H
	mov	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA, 4227712 ; Get_Safe_Data_Int, 00408280H
	mov	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA, 4273424 ; Get_Safe_Data_Float, 00413510H
	mov	DWORD PTR ?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA, 4362496 ; Get_Safe_Data_Float_Ref, 00429100H
	mov	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA, 6899760 ; Set_Safe_Data_Float_Ref, 00694830H
	mov	DWORD PTR ?GameType@@3PAHA, 8738560	; GameType, 00855700H
	mov	DWORD PTR ?IsListed@@3PA_NA, 8580988	; IsListed, 0082ef7cH
	mov	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA, 4420432 ; Game_Mode_Find, 00437350H
	mov	DWORD PTR ?SpawnCharGDI@@3PADA, 8340524	; SpawnCharGDI, 007f442cH
	mov	DWORD PTR ?SpawnCharNod@@3PADA, 8340548	; SpawnCharNod, 007f4444H
	mov	DWORD PTR ?PacketManager@@3PAXA, 8730864 ; PacketManager, 008538f0H
	mov	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA, 6409136 ; Bandwidth_Out, 0061cbb0H
	mov	DWORD PTR ?Mine_Limit@@3PADA, 7394133	; Mine_Limit, 0070d355H

; 642  : 			Get_Address = (GetAddress)0x0061D390;

	mov	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA, 6411152 ; Get_Address, 0061d390H

; 643  : 			Get_Remote_Host = (GetRemoteHost)0x0061A0E0;

	mov	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA, 6398176 ; Get_Remote_Host, 0061a0e0H

; 644  : 			ServerConnection = (char **)0x0081FF84;

	mov	DWORD PTR ?ServerConnection@@3PAPADA, 8519556 ; ServerConnection, 0081ff84H

; 645  : 			Game = (TheGame)0x00477370;

	mov	DWORD PTR ?Game@@3P6APAVcGameData@@XZA, 4682608 ; Game, 00477370H

; 646  : 			Find_Team = (FindTeam)0x0041DA10;

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

; 647  : 			TallyTeamSize = (tts)0x004170D0;

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

; 648  : 			Skirmish_Game = (TheSkirmishGame)0x00477390;

	mov	DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA, 4682640 ; Skirmish_Game, 00477390H

; 649  : 			Cnc_Game = (TheCncGame)0x004773A0;

	mov	DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA, 4682656 ; Cnc_Game, 004773a0H

; 650  : 			Single_Player_Game = (TheSinglePlayerGame)0x00477380;

	mov	DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA, 4682624 ; Single_Player_Game, 00477380H

; 651  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0x00695390;

	mov	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA, 6902672 ; Get_Safe_Data_Uint_Ref, 00695390H

; 652  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0x00695AA0;

	mov	eax, 6904480				; 00695aa0H

; 653  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0x00695AA0;
; 654  : 			Check_Transitions = (CheckTransitions)0x006D4E60;

	mov	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA, 7163488 ; Check_Transitions, 006d4e60H

; 655  : 			Set_Transform = (SetTransform)0x006A5790;

	mov	DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA, 6969232 ; Set_Transform, 006a5790H

; 656  : 			Get_Transform = (GetTransform)0x006A57B0;

	mov	DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA, 6969264 ; Get_Transform, 006a57b0H

; 657  : 			BuildingGameObjList = (SList<GameObject> *)0x008561D0;

	mov	DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A, 8741328 ; BuildingGameObjList, 008561d0H

; 658  : 			SmartGameObjList = (SList<GameObject> *)0x008561C0;

	mov	DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A, 8741312 ; SmartGameObjList, 008561c0H

; 659  : 			BaseGameObjList = (SList<GameObject> *)0x008561E0;

	mov	DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A, 8741344 ; BaseGameObjList, 008561e0H

; 660  : 			FindPlayer = (Find_Player)0x004157E0;

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

; 661  : 			FindNamedDef = (Find_Named_Def)0x00526100;

	mov	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA, 5398784 ; FindNamedDef, 00526100H

; 662  : 			SoldierReInit = (ReInit)0x006C6CB0;

	mov	DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA, 7105712 ; SoldierReInit, 006c6cb0H

; 663  : 			Post_ReInit = (PostReInit)0x006B5E90;

	mov	DWORD PTR ?Post_ReInit@@3P6AXXZA, 7036560 ; Post_ReInit, 006b5e90H

; 664  : 			SetMaxHealth = (SetMax)0x006910C0;

	mov	DWORD PTR ?SetMaxHealth@@3P6AXM@ZA, 6885568 ; SetMaxHealth, 006910c0H

; 665  : 			SetMaxShieldStrength = (SetMax)0x00692980;

	mov	DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA, 6891904 ; SetMaxShieldStrength, 00692980H

; 666  : 			Grant_Supplies = (GrantSupplies)0x00470230;

	mov	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA, 4653616 ; Grant_Supplies, 00470230H

; 667  : 			Powerup_Grant = (PowerupGrant)0x006EFFB0;

	mov	DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA, 7274416 ; Powerup_Grant, 006effb0H

; 668  : 			Get_Armor_Name = (GetArmorName)0x00687700;

	mov	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA, 6846208 ; Get_Armor_Name, 00687700H

; 669  : 			Get_Armor_Type = (GetArmorType)0x00686FF0;

	mov	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA, 6844400 ; Get_Armor_Type, 00686ff0H

; 670  : 			Mark_Owner_Dirty = (MarkOwnerDirty)0x00692FE0;

	mov	DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA, 6893536 ; Mark_Owner_Dirty, 00692fe0H

; 671  : 			Is_Available_For_Purchase = (IsAvailable)0x006ED5D0;

	mov	DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA, 7263696 ; Is_Available_For_Purchase, 006ed5d0H

; 672  : 			Request_Vehicle = (RequestVehicle)0x006ED760;

	mov	DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA, 7264096 ; Request_Vehicle, 006ed760H

; 673  : 			ToggleFly = (ToggleFlyMode)0x006CF520;

	mov	DWORD PTR ?ToggleFly@@3P6AXXZA, 7140640	; ToggleFly, 006cf520H

; 674  : 			Parse_Console_Input = (ConsoleInput)0x00428960;

	mov	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA, 4360544 ; Parse_Console_Input, 00428960H

; 675  : 			Output_To_Console = (ConsoleOut)0x00428CD0;

	mov	DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA, 4361424 ; Output_To_Console, 00428cd0H

; 676  : 			SetPlayerType = (spt)0x0040D600;

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

; 677  : 			GetPlayerCount = (gpc)0x00417040;

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

; 964  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA, eax ; Set_Safe_Data_Uint_Ref

; 965  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA, eax ; Set_Safe_Data_Int_Ref

; 990  : 		}
; 991  : 		break;
; 992  : 	}
; 993  : }

	ret	0
$L79332:

; 678  : 		}
; 679  : 		break;
; 680  : 	case 2: //RH73
; 681  : 		{
; 682  : 			ConvertFrom = (void *)0x08362810;
; 683  : 			GetString = (void *)0x0836238C;
; 684  : 			FreeString = (void *)0x083625F4;
; 685  : 			GameMode = (unsigned int *)0x086C4A30;
; 686  : 			SetMoney = (SetStuff)0x080A8448;
; 687  : 			SetScore = (SetStuff)0x080A83B4;
; 688  : 			overlap = (void *)0x083257A0;
; 689  : 			Collect_Building_Components = (cbc)0x080F55C4;
; 690  : 			Start_Observers = (startobservers)0x08152F78;
; 691  : 			Create_Library_Object = (CreateLibraryObject)0x0813868C;
; 692  : 			FindClosestZone = (void *)0x08156204;
; 693  : 			InsideMe = (im)0x081561B0;
; 694  : 			IsMapVTOL = (bool *)0x086C9D94;
; 695  : 			FindBuilding = (void *)0x080ED548;
; 696  : 			PowerBase = (void *)0x080ED15C;
; 697  : 			SetCanGenerateSoldiers = (void *)0x080ED28C;
; 698  : 			SetCanGenerateVehicles = (void *)0x080ED2B0;
; 699  : 			DestroyBase = (void *)0x080ED720;
; 700  : 			SetBeaconDestroyedBase = (void *)0x080ED7B8;
; 701  : 			EnableRadar = (void *)0x080EDABC;
; 702  : 			DefinitionArray = (PurchaseSettingsDefClass **)0x086CA920;
; 703  : 			EmptyStr = (StringClass *)0x086E840C;
; 704  : 			UninitialisedGrow = (void *)0x08362B88;
; 705  : 			WideUninitialisedGrow = (void *)0x08362568;
; 706  : 			Find_Purchase_Definition = (void *)0x08146D08;
; 707  : 			Find_Team_Purchase_Definition = (void *)0x0817A6D4;
; 708  : 			Find_Definition = (FindDefinition)0x08365410;
; 709  : 			GetHarvester = (void *)0x080EDB54;
; 710  : 			Completly_Damaged = (CompletlyDamaged)0x080F064C;
; 711  : 			GetINI = (void *)0x080E0F40;
; 712  : 			ReleaseINI = (void *)0x080E101C;
; 713  : 			IniClassGetInt = (void *)0x083544AC;
; 714  : 			IniClassGetDouble = (void *)0x083547C4;
; 715  : 			IniClassGetBool = (void *)0x0835524C;
; 716  : 			IniClassGetString = (void *)0x08354DB4;
; 717  : 			Get_VehicleName = (GetVehicleName)0x08188FD0;
; 718  : 			Get_Beacon_Owner = (GetBeaconOwner)0x080F05D8;
; 719  : 			Get_Color_For_Team = (GetTeamColor)0x08102AA8;
; 720  : 			GetColor = (GetPlayerColor)0x080A74D4;
; 721  : 			Get_Obj_Color = (GetObjColor)0x0810E304;
; 722  : 			C4Defuse = (Defuse)0x080FA990;
; 723  : 			GetVehicleCount = (GetCount)0x0818C900;
; 724  : 			FindBase = (void *)0x080ED660;
; 725  : 			PrivateMessageColor = (float *)0x08B9B18C;
; 726  : 			PublicMessageColor = (float *)0x08B9B180;
; 727  : 			GDIHouseColor = (float *)0x08B9FA40;
; 728  : 			NodHouseColor = (float *)0x08B9FA34;
; 729  : 			Get_TDB_Object = (GetTDBObject)0x08346D80;
; 730  : 			Get_Safe_Data_Int = (GetSafeDataInt)0;

	xor	eax, eax
	mov	DWORD PTR ?ConvertFrom@@3PAXA, 137766928 ; ConvertFrom, 08362810H
	mov	DWORD PTR ?GetString@@3PAXA, 137765772	; GetString, 0836238cH
	mov	DWORD PTR ?FreeString@@3PAXA, 137766388	; FreeString, 083625f4H
	mov	DWORD PTR ?GameMode@@3PAIA, 141314608	; GameMode, 086c4a30H
	mov	DWORD PTR ?SetMoney@@3P6AXM@ZA, 134906952 ; SetMoney, 080a8448H
	mov	DWORD PTR ?SetScore@@3P6AXM@ZA, 134906804 ; SetScore, 080a83b4H
	mov	DWORD PTR ?overlap@@3PAXA, 137516960	; overlap, 083257a0H
	mov	DWORD PTR ?Collect_Building_Components@@3P6AXXZA, 135222724 ; Collect_Building_Components, 080f55c4H
	mov	DWORD PTR ?Start_Observers@@3P6AXXZA, 135606136 ; Start_Observers, 08152f78H
	mov	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA, 135497356 ; Create_Library_Object, 0813868cH
	mov	DWORD PTR ?FindClosestZone@@3PAXA, 135619076 ; FindClosestZone, 08156204H
	mov	DWORD PTR ?InsideMe@@3P6A_NPAE@ZA, 135618992 ; InsideMe, 081561b0H
	mov	DWORD PTR ?IsMapVTOL@@3PA_NA, 141335956	; IsMapVTOL, 086c9d94H
	mov	DWORD PTR ?FindBuilding@@3PAXA, 135189832 ; FindBuilding, 080ed548H
	mov	DWORD PTR ?PowerBase@@3PAXA, 135188828	; PowerBase, 080ed15cH
	mov	DWORD PTR ?SetCanGenerateSoldiers@@3PAXA, 135189132 ; SetCanGenerateSoldiers, 080ed28cH
	mov	DWORD PTR ?SetCanGenerateVehicles@@3PAXA, 135189168 ; SetCanGenerateVehicles, 080ed2b0H
	mov	DWORD PTR ?DestroyBase@@3PAXA, 135190304 ; DestroyBase, 080ed720H
	mov	DWORD PTR ?SetBeaconDestroyedBase@@3PAXA, 135190456 ; SetBeaconDestroyedBase, 080ed7b8H
	mov	DWORD PTR ?EnableRadar@@3PAXA, 135191228 ; EnableRadar, 080edabcH
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 141338912 ; DefinitionArray, 086ca920H
	mov	DWORD PTR ?EmptyStr@@3PAVStringClass@@A, 141460492 ; EmptyStr, 086e840cH
	mov	DWORD PTR ?UninitialisedGrow@@3PAXA, 137767816 ; UninitialisedGrow, 08362b88H
	mov	DWORD PTR ?WideUninitialisedGrow@@3PAXA, 137766248 ; WideUninitialisedGrow, 08362568H
	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 135556360 ; Find_Purchase_Definition, 08146d08H
	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 135767764 ; Find_Team_Purchase_Definition, 0817a6d4H
	mov	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA, 137778192 ; Find_Definition, 08365410H
	mov	DWORD PTR ?GetHarvester@@3PAXA, 135191380 ; GetHarvester, 080edb54H
	mov	DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA, 135202380 ; Completly_Damaged, 080f064cH
	mov	DWORD PTR ?GetINI@@3PAXA, 135139136	; GetINI, 080e0f40H
	mov	DWORD PTR ?ReleaseINI@@3PAXA, 135139356	; ReleaseINI, 080e101cH
	mov	DWORD PTR ?IniClassGetInt@@3PAXA, 137708716 ; IniClassGetInt, 083544acH
	mov	DWORD PTR ?IniClassGetDouble@@3PAXA, 137709508 ; IniClassGetDouble, 083547c4H
	mov	DWORD PTR ?IniClassGetBool@@3PAXA, 137712204 ; IniClassGetBool, 0835524cH
	mov	DWORD PTR ?IniClassGetString@@3PAXA, 137711028 ; IniClassGetString, 08354db4H
	mov	DWORD PTR ?Get_VehicleName@@3P6APA_WXZA, 135827408 ; Get_VehicleName, 08188fd0H
	mov	DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA, 135202264 ; Get_Beacon_Owner, 080f05d8H
	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 135277224 ; Get_Color_For_Team, 08102aa8H
	mov	DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA, 134902996 ; GetColor, 080a74d4H
	mov	DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA, 135324420 ; Get_Obj_Color, 0810e304H
	mov	DWORD PTR ?C4Defuse@@3P6AXXZA, 135244176 ; C4Defuse, 080fa990H
	mov	DWORD PTR ?GetVehicleCount@@3P6AIXZA, 135842048 ; GetVehicleCount, 0818c900H
	mov	DWORD PTR ?FindBase@@3PAXA, 135190112	; FindBase, 080ed660H
	mov	DWORD PTR ?PrivateMessageColor@@3PAMA, 146387340 ; PrivateMessageColor, 08b9b18cH
	mov	DWORD PTR ?PublicMessageColor@@3PAMA, 146387328 ; PublicMessageColor, 08b9b180H
	mov	DWORD PTR ?GDIHouseColor@@3PAMA, 146405952 ; GDIHouseColor, 08b9fa40H
	mov	DWORD PTR ?NodHouseColor@@3PAMA, 146405940 ; NodHouseColor, 08b9fa34H
	mov	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA, 137653632 ; Get_TDB_Object, 08346d80H
	mov	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA, eax ; Get_Safe_Data_Int

; 731  : 			Get_Safe_Data_Float = (GetSafeDataFloat)0;

	mov	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA, eax ; Get_Safe_Data_Float

; 732  : 			Get_Safe_Data_Float_Ref = (GetSafeDataFloatRef)0;

	mov	DWORD PTR ?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA, eax ; Get_Safe_Data_Float_Ref

; 733  : 			Set_Safe_Data_Float_Ref = (SetSafeDataFloatRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA, eax ; Set_Safe_Data_Float_Ref

; 734  : 			GameType = (int *)0x086C8F78;

	mov	DWORD PTR ?GameType@@3PAHA, 141332344	; GameType, 086c8f78H

; 735  : 			IsListed = (bool *)0x086C2BA8;

	mov	DWORD PTR ?IsListed@@3PA_NA, 141306792	; IsListed, 086c2ba8H

; 736  : 			Game_Mode_Find = (GameModeFind)0x0807FC90;

	mov	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA, 134741136 ; Game_Mode_Find, 0807fc90H

; 737  : 			SpawnCharGDI = (char *)0x086151D5;

	mov	DWORD PTR ?SpawnCharGDI@@3PADA, 140595669 ; SpawnCharGDI, 086151d5H

; 738  : 			SpawnCharNod = (char *)0x086151C0;

	mov	DWORD PTR ?SpawnCharNod@@3PADA, 140595648 ; SpawnCharNod, 086151c0H

; 739  : 			PacketManager = (void *)0x08BB6420;

	mov	DWORD PTR ?PacketManager@@3PAXA, 146498592 ; PacketManager, 08bb6420H

; 740  : 			Bandwidth_Out = (BandwidthOut)0x08370754;

	mov	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA, 137824084 ; Bandwidth_Out, 08370754H

; 741  : 			Mine_Limit = (char *)0x080FABCE;

	mov	DWORD PTR ?Mine_Limit@@3PADA, 135244750	; Mine_Limit, 080fabceH

; 742  : 			RenNew = (rennew)0x0804AA48;

	mov	DWORD PTR ?RenNew@@3P6APAXK@ZA, 134523464 ; RenNew, 0804aa48H

; 743  : 			RenVecNew = (rennew)0x0804A7B8;

	mov	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, 134522808 ; RenVecNew, 0804a7b8H

; 744  : 			RenDelete = (rendelete)0x0804A8F8;

	mov	DWORD PTR ?RenDelete@@3P6AXPAX@ZA, 134523128 ; RenDelete, 0804a8f8H

; 745  : 			RenVecDelete = (rendelete)0x0804AA08;

	mov	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA, 134523400 ; RenVecDelete, 0804aa08H

; 746  : 			Get_Address = (GetAddress)0x08371194;

	mov	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA, 137826708 ; Get_Address, 08371194H

; 747  : 			Get_Remote_Host = (GetRemoteHost)0x0836B438;

	mov	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA, 137802808 ; Get_Remote_Host, 0836b438H

; 748  : 			ServerConnection = (char **)0x086C0EDC;

	mov	DWORD PTR ?ServerConnection@@3PAPADA, 141299420 ; ServerConnection, 086c0edcH

; 749  : 			Game = (TheGame)0x0807CCD0;

	mov	DWORD PTR ?Game@@3P6APAVcGameData@@XZA, 134728912 ; Game, 0807ccd0H

; 750  : 			Find_Team = (FindTeam)0x080BFBD4;

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

; 751  : 			TallyTeamSize = (tts)0x080AA84C;

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

; 752  : 			Skirmish_Game = (TheSkirmishGame)0x0807CCF0;

	mov	DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA, 134728944 ; Skirmish_Game, 0807ccf0H

; 753  : 			Cnc_Game = (TheCncGame)0x0807CD08;

	mov	DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA, 134728968 ; Cnc_Game, 0807cd08H

; 754  : 			Single_Player_Game = (TheSinglePlayerGame)0x0807CCD8;

	mov	DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA, 134728920 ; Single_Player_Game, 0807ccd8H

; 755  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0;
; 756  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;
; 757  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;
; 758  : 			Check_Transitions = (CheckTransitions)0x0817EDAC;

	mov	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA, 135785900 ; Check_Transitions, 0817edacH

; 759  : 			Set_Transform = (SetTransform)0x0813DA90;

	mov	DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA, 135518864 ; Set_Transform, 0813da90H

; 760  : 			Get_Transform = (GetTransform)0x0813DAAC;

	mov	DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA, 135518892 ; Get_Transform, 0813daacH

; 761  : 			BuildingGameObjList = (SList<GameObject> *)0x08BA05FC;

	mov	DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A, 146408956 ; BuildingGameObjList, 08ba05fcH

; 762  : 			SmartGameObjList = (SList<GameObject> *)0x08BA05E4;

	mov	DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A, 146408932 ; SmartGameObjList, 08ba05e4H

; 763  : 			BaseGameObjList = (SList<GameObject> *)0x08BA05D8;

	mov	DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A, 146408920 ; BaseGameObjList, 08ba05d8H

; 764  : 			FindPlayer = (Find_Player)0x080A9CDC;

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

; 765  : 			FindNamedDef = (Find_Named_Def)0x0836557C;

	mov	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA, 137778556 ; FindNamedDef, 0836557cH

; 766  : 			SoldierReInit = (ReInit)0x0815C23C;

	mov	DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA, 135643708 ; SoldierReInit, 0815c23cH

; 767  : 			Post_ReInit = (PostReInit)0x081528EC;

	mov	DWORD PTR ?Post_ReInit@@3P6AXXZA, 135604460 ; Post_ReInit, 081528ecH

; 768  : 			SetMaxHealth = (SetMax)0x08111B88;

	mov	DWORD PTR ?SetMaxHealth@@3P6AXM@ZA, 135338888 ; SetMaxHealth, 08111b88H

; 769  : 			SetMaxShieldStrength = (SetMax)0x08111C9C;

	mov	DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA, 135339164 ; SetMaxShieldStrength, 08111c9cH

; 770  : 			Grant_Supplies = (GrantSupplies)0x080C472C;

	mov	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA, 135022380 ; Grant_Supplies, 080c472cH

; 771  : 			Powerup_Grant = (PowerupGrant)0x08144268;

	mov	DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA, 135545448 ; Powerup_Grant, 08144268H

; 772  : 			Get_Armor_Name = (GetArmorName)0x0810F87C;

	mov	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA, 135329916 ; Get_Armor_Name, 0810f87cH

; 773  : 			Get_Armor_Type = (GetArmorType)0x0810F7B4;

	mov	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA, 135329716 ; Get_Armor_Type, 0810f7b4H

; 774  : 			Mark_Owner_Dirty = (MarkOwnerDirty)0x08111D84;

	mov	DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA, 135339396 ; Mark_Owner_Dirty, 08111d84H

; 775  : 			Is_Available_For_Purchase = (IsAvailable)0x0818C8C4;

	mov	DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA, 135841988 ; Is_Available_For_Purchase, 0818c8c4H

; 776  : 			Request_Vehicle = (RequestVehicle)0x0818CAF0;

	mov	DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA, 135842544 ; Request_Vehicle, 0818caf0H

; 777  : 			ToggleFly = (ToggleFlyMode)0x08168740;

	mov	DWORD PTR ?ToggleFly@@3P6AXXZA, 135694144 ; ToggleFly, 08168740H

; 778  : 			Parse_Console_Input = (ConsoleInput)0x0805BBB8;

	mov	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA, 134593464 ; Parse_Console_Input, 0805bbb8H

; 779  : 			Output_To_Console = (ConsoleOut)0x0805BF40;

	mov	DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA, 134594368 ; Output_To_Console, 0805bf40H

; 780  : 			SetPlayerType = (spt)0x080A7438;

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

; 781  : 			GetPlayerCount = (gpc)0x080AA7F0;

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

; 963  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0;

	mov	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA, eax ; Get_Safe_Data_Uint_Ref

; 964  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA, eax ; Set_Safe_Data_Uint_Ref

; 965  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA, eax ; Set_Safe_Data_Int_Ref

; 990  : 		}
; 991  : 		break;
; 992  : 	}
; 993  : }

	ret	0
$L79433:

; 782  : 		}
; 783  : 		break;
; 784  : 	case 3: //RH8
; 785  : 		{
; 786  : 			ConvertFrom = (void *)0x08316138;
; 787  : 			GetString = (void *)0x08315CE0;
; 788  : 			FreeString = (void *)0x08315F2A;
; 789  : 			GameMode = (unsigned int *)0x085EBB70;
; 790  : 			SetMoney = (SetStuff)0x080A3B8A;
; 791  : 			SetScore = (SetStuff)0x080A3AFA;
; 792  : 			overlap = (void *)0x082E22F0;
; 793  : 			Collect_Building_Components = (cbc)0x080EA1F2;
; 794  : 			Start_Observers = (startobservers)0x081410B2;
; 795  : 			Create_Library_Object = (CreateLibraryObject)0x081287B6;
; 796  : 			FindClosestZone = (void *)0x08143F90;
; 797  : 			InsideMe = (im)0x08143F44;
; 798  : 			IsMapVTOL = (bool *)0x085F1554;
; 799  : 			FindBuilding = (void *)0x080E2C52;
; 800  : 			PowerBase = (void *)0x080E28C8;
; 801  : 			SetCanGenerateSoldiers = (void *)0x080E29EE;
; 802  : 			SetCanGenerateVehicles = (void *)0x080E2A0E;
; 803  : 			DestroyBase = (void *)0x080E2DEA;
; 804  : 			SetBeaconDestroyedBase = (void *)0x080E2E78;
; 805  : 			EnableRadar = (void *)0x080E319A;
; 806  : 			DefinitionArray = (PurchaseSettingsDefClass **)0x085F2180;
; 807  : 			EmptyStr = (StringClass *)0x08610F80;
; 808  : 			UninitialisedGrow = (void *)0x08316498;
; 809  : 			WideUninitialisedGrow = (void *)0x08315E9C;
; 810  : 			Find_Purchase_Definition = (void *)0x08135F3A;
; 811  : 			Find_Team_Purchase_Definition = (void *)0x081658D6;
; 812  : 			Find_Definition = (FindDefinition)0x083187AE;
; 813  : 			GetHarvester = (void *)0x080E322C;
; 814  : 			Completly_Damaged = (CompletlyDamaged)0x080E5E02;
; 815  : 			GetINI = (void *)0x080D3D74;
; 816  : 			ReleaseINI = (void *)0x080D3E4C;
; 817  : 			IniClassGetInt = (void *)0x0830832E;
; 818  : 			IniClassGetDouble = (void *)0x08308634;
; 819  : 			IniClassGetBool = (void *)0x08308E94;
; 820  : 			IniClassGetString = (void *)0x08308A40;
; 821  : 			Get_VehicleName = (GetVehicleName)0x08172B74;
; 822  : 			Get_Beacon_Owner = (GetBeaconOwner)0x080E5D98;
; 823  : 			Get_Color_For_Team = (GetTeamColor)0x080F5EB8;
; 824  : 			GetColor = (GetPlayerColor)0x080A2EE6;
; 825  : 			Get_Obj_Color = (GetObjColor)0x081006FC;
; 826  : 			C4Defuse = (Defuse)0x080EE1EA;
; 827  : 			GetVehicleCount = (GetCount)0x08175FBE;
; 828  : 			FindBase = (void *)0x080E2D3A;
; 829  : 			PrivateMessageColor = (float *)0x089A36F4;
; 830  : 			PublicMessageColor = (float *)0x089A36E8;
; 831  : 			GDIHouseColor = (float *)0x089A8398;
; 832  : 			NodHouseColor = (float *)0x089A838C;
; 833  : 			Get_TDB_Object = (GetTDBObject)0x082FBF90;
; 834  : 			Get_Safe_Data_Int = (GetSafeDataInt)0;

	xor	eax, eax
	mov	DWORD PTR ?ConvertFrom@@3PAXA, 137453880 ; ConvertFrom, 08316138H
	mov	DWORD PTR ?GetString@@3PAXA, 137452768	; GetString, 08315ce0H
	mov	DWORD PTR ?FreeString@@3PAXA, 137453354	; FreeString, 08315f2aH
	mov	DWORD PTR ?GameMode@@3PAIA, 140426096	; GameMode, 085ebb70H
	mov	DWORD PTR ?SetMoney@@3P6AXM@ZA, 134888330 ; SetMoney, 080a3b8aH
	mov	DWORD PTR ?SetScore@@3P6AXM@ZA, 134888186 ; SetScore, 080a3afaH
	mov	DWORD PTR ?overlap@@3PAXA, 137241328	; overlap, 082e22f0H
	mov	DWORD PTR ?Collect_Building_Components@@3P6AXXZA, 135176690 ; Collect_Building_Components, 080ea1f2H
	mov	DWORD PTR ?Start_Observers@@3P6AXXZA, 135532722 ; Start_Observers, 081410b2H
	mov	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA, 135432118 ; Create_Library_Object, 081287b6H
	mov	DWORD PTR ?FindClosestZone@@3PAXA, 135544720 ; FindClosestZone, 08143f90H
	mov	DWORD PTR ?InsideMe@@3P6A_NPAE@ZA, 135544644 ; InsideMe, 08143f44H
	mov	DWORD PTR ?IsMapVTOL@@3PA_NA, 140449108	; IsMapVTOL, 085f1554H
	mov	DWORD PTR ?FindBuilding@@3PAXA, 135146578 ; FindBuilding, 080e2c52H
	mov	DWORD PTR ?PowerBase@@3PAXA, 135145672	; PowerBase, 080e28c8H
	mov	DWORD PTR ?SetCanGenerateSoldiers@@3PAXA, 135145966 ; SetCanGenerateSoldiers, 080e29eeH
	mov	DWORD PTR ?SetCanGenerateVehicles@@3PAXA, 135145998 ; SetCanGenerateVehicles, 080e2a0eH
	mov	DWORD PTR ?DestroyBase@@3PAXA, 135146986 ; DestroyBase, 080e2deaH
	mov	DWORD PTR ?SetBeaconDestroyedBase@@3PAXA, 135147128 ; SetBeaconDestroyedBase, 080e2e78H
	mov	DWORD PTR ?EnableRadar@@3PAXA, 135147930 ; EnableRadar, 080e319aH
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, 140452224 ; DefinitionArray, 085f2180H
	mov	DWORD PTR ?EmptyStr@@3PAVStringClass@@A, 140578688 ; EmptyStr, 08610f80H
	mov	DWORD PTR ?UninitialisedGrow@@3PAXA, 137454744 ; UninitialisedGrow, 08316498H
	mov	DWORD PTR ?WideUninitialisedGrow@@3PAXA, 137453212 ; WideUninitialisedGrow, 08315e9cH
	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, 135487290 ; Find_Purchase_Definition, 08135f3aH
	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, 135682262 ; Find_Team_Purchase_Definition, 081658d6H
	mov	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA, 137463726 ; Find_Definition, 083187aeH
	mov	DWORD PTR ?GetHarvester@@3PAXA, 135148076 ; GetHarvester, 080e322cH
	mov	DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA, 135159298 ; Completly_Damaged, 080e5e02H
	mov	DWORD PTR ?GetINI@@3PAXA, 135085428	; GetINI, 080d3d74H
	mov	DWORD PTR ?ReleaseINI@@3PAXA, 135085644	; ReleaseINI, 080d3e4cH
	mov	DWORD PTR ?IniClassGetInt@@3PAXA, 137397038 ; IniClassGetInt, 0830832eH
	mov	DWORD PTR ?IniClassGetDouble@@3PAXA, 137397812 ; IniClassGetDouble, 08308634H
	mov	DWORD PTR ?IniClassGetBool@@3PAXA, 137399956 ; IniClassGetBool, 08308e94H
	mov	DWORD PTR ?IniClassGetString@@3PAXA, 137398848 ; IniClassGetString, 08308a40H
	mov	DWORD PTR ?Get_VehicleName@@3P6APA_WXZA, 135736180 ; Get_VehicleName, 08172b74H
	mov	DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA, 135159192 ; Get_Beacon_Owner, 080e5d98H
	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, 135225016 ; Get_Color_For_Team, 080f5eb8H
	mov	DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA, 134885094 ; GetColor, 080a2ee6H
	mov	DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA, 135268092 ; Get_Obj_Color, 081006fcH
	mov	DWORD PTR ?C4Defuse@@3P6AXXZA, 135193066 ; C4Defuse, 080ee1eaH
	mov	DWORD PTR ?GetVehicleCount@@3P6AIXZA, 135749566 ; GetVehicleCount, 08175fbeH
	mov	DWORD PTR ?FindBase@@3PAXA, 135146810	; FindBase, 080e2d3aH
	mov	DWORD PTR ?PrivateMessageColor@@3PAMA, 144324340 ; PrivateMessageColor, 089a36f4H
	mov	DWORD PTR ?PublicMessageColor@@3PAMA, 144324328 ; PublicMessageColor, 089a36e8H
	mov	DWORD PTR ?GDIHouseColor@@3PAMA, 144343960 ; GDIHouseColor, 089a8398H
	mov	DWORD PTR ?NodHouseColor@@3PAMA, 144343948 ; NodHouseColor, 089a838cH
	mov	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA, 137346960 ; Get_TDB_Object, 082fbf90H
	mov	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA, eax ; Get_Safe_Data_Int

; 835  : 			Get_Safe_Data_Float = (GetSafeDataFloat)0;

	mov	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA, eax ; Get_Safe_Data_Float

; 836  : 			Get_Safe_Data_Float_Ref = (GetSafeDataFloatRef)0;

	mov	DWORD PTR ?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA, eax ; Get_Safe_Data_Float_Ref

; 837  : 			Set_Safe_Data_Float_Ref = (SetSafeDataFloatRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA, eax ; Set_Safe_Data_Float_Ref

; 838  : 			GameType = (int *)0x085F0670;

	mov	DWORD PTR ?GameType@@3PAHA, 140445296	; GameType, 085f0670H

; 839  : 			IsListed = (bool *)0x085E9AB8;

	mov	DWORD PTR ?IsListed@@3PA_NA, 140417720	; IsListed, 085e9ab8H

; 840  : 			Game_Mode_Find = (GameModeFind)0x0807F36A;

	mov	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA, 134738794 ; Game_Mode_Find, 0807f36aH

; 841  : 			SpawnCharGDI = (char *)0x084FB353;

	mov	DWORD PTR ?SpawnCharGDI@@3PADA, 139440979 ; SpawnCharGDI, 084fb353H

; 842  : 			SpawnCharNod = (char *)0x084FB33E;

	mov	DWORD PTR ?SpawnCharNod@@3PADA, 139440958 ; SpawnCharNod, 084fb33eH

; 843  : 			PacketManager = (void *)0x089D20E0;

	mov	DWORD PTR ?PacketManager@@3PAXA, 144515296 ; PacketManager, 089d20e0H

; 844  : 			Bandwidth_Out = (BandwidthOut)0x083238EA;

	mov	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA, 137509098 ; Bandwidth_Out, 083238eaH

; 845  : 			Mine_Limit = (char *)0x080EE422;

	mov	DWORD PTR ?Mine_Limit@@3PADA, 135193634	; Mine_Limit, 080ee422H

; 846  : 			RenNew = (rennew)0x08053B04;

	mov	DWORD PTR ?RenNew@@3P6APAXK@ZA, 134560516 ; RenNew, 08053b04H

; 847  : 			RenVecNew = (rennew)0x08053A14;

	mov	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, 134560276 ; RenVecNew, 08053a14H

; 848  : 			RenDelete = (rendelete)0x08053434;

	mov	DWORD PTR ?RenDelete@@3P6AXPAX@ZA, 134558772 ; RenDelete, 08053434H

; 849  : 			RenVecDelete = (rendelete)0x08053A54;

	mov	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA, 134560340 ; RenVecDelete, 08053a54H

; 850  : 			Get_Address = (GetAddress)0x08324566;

	mov	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA, 137512294 ; Get_Address, 08324566H

; 851  : 			Get_Remote_Host = (GetRemoteHost)0x0831E694;

	mov	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA, 137488020 ; Get_Remote_Host, 0831e694H

; 852  : 			ServerConnection = (char **)0x085E7C2C;

	mov	DWORD PTR ?ServerConnection@@3PAPADA, 140409900 ; ServerConnection, 085e7c2cH

; 853  : 			Game = (TheGame)0x0807C7A8;

	mov	DWORD PTR ?Game@@3P6APAVcGameData@@XZA, 134727592 ; Game, 0807c7a8H

; 854  : 			Find_Team = (FindTeam)0x080B82C4;

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

; 855  : 			TallyTeamSize = (tts)0x080A5AB6;

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

; 856  : 			Skirmish_Game = (TheSkirmishGame)0x0807C7C2;

	mov	DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA, 134727618 ; Skirmish_Game, 0807c7c2H

; 857  : 			Cnc_Game = (TheCncGame)0x0807C7D6;

	mov	DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA, 134727638 ; Cnc_Game, 0807c7d6H

; 858  : 			Single_Player_Game = (TheSinglePlayerGame)0x0807C7AE;

	mov	DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA, 134727598 ; Single_Player_Game, 0807c7aeH

; 859  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0;
; 860  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;
; 861  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;
; 862  : 			Check_Transitions = (CheckTransitions)0x08169ADC;

	mov	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA, 135699164 ; Check_Transitions, 08169adcH

; 863  : 			Set_Transform = (SetTransform)0x0812DA3A;

	mov	DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA, 135453242 ; Set_Transform, 0812da3aH

; 864  : 			Get_Transform = (GetTransform)0x0812DA56;

	mov	DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA, 135453270 ; Get_Transform, 0812da56H

; 865  : 			BuildingGameObjList = (SList<GameObject> *)0x089A9090;

	mov	DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A, 144347280 ; BuildingGameObjList, 089a9090H

; 866  : 			SmartGameObjList = (SList<GameObject> *)0x089A9078;

	mov	DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A, 144347256 ; SmartGameObjList, 089a9078H

; 867  : 			BaseGameObjList = (SList<GameObject> *)0x089A906C;

	mov	DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A, 144347244 ; BaseGameObjList, 089a906cH

; 868  : 			FindPlayer = (Find_Player)0x080A510A;

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

; 869  : 			FindNamedDef = (Find_Named_Def)0x0831890A;

	mov	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA, 137464074 ; FindNamedDef, 0831890aH

; 870  : 			SoldierReInit = (ReInit)0x0814A676;

	mov	DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA, 135571062 ; SoldierReInit, 0814a676H

; 871  : 			Post_ReInit = (PostReInit)0x08140AB8;

	mov	DWORD PTR ?Post_ReInit@@3P6AXXZA, 135531192 ; Post_ReInit, 08140ab8H

; 872  : 			SetMaxHealth = (SetMax)0x08103C18;

	mov	DWORD PTR ?SetMaxHealth@@3P6AXM@ZA, 135281688 ; SetMaxHealth, 08103c18H

; 873  : 			SetMaxShieldStrength = (SetMax)0x08103D2E;

	mov	DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA, 135281966 ; SetMaxShieldStrength, 08103d2eH

; 874  : 			Grant_Supplies = (GrantSupplies)0x080BC8D8;

	mov	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA, 134990040 ; Grant_Supplies, 080bc8d8H

; 875  : 			Powerup_Grant = (PowerupGrant)0x081332C6;

	mov	DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA, 135475910 ; Powerup_Grant, 081332c6H

; 876  : 			Get_Armor_Name = (GetArmorName)0x08101AB8;

	mov	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA, 135273144 ; Get_Armor_Name, 08101ab8H

; 877  : 			Get_Armor_Type = (GetArmorType)0x081019FC;

	mov	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA, 135272956 ; Get_Armor_Type, 081019fcH

; 878  : 			Mark_Owner_Dirty = (MarkOwnerDirty)0x08103E20;

	mov	DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA, 135282208 ; Mark_Owner_Dirty, 08103e20H

; 879  : 			Is_Available_For_Purchase = (IsAvailable)0x008175F7A;

	mov	DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA, 135749498 ; Is_Available_For_Purchase, 08175f7aH

; 880  : 			Request_Vehicle = (RequestVehicle)0x08176184;

	mov	DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA, 135750020 ; Request_Vehicle, 08176184H

; 881  : 			ToggleFly = (ToggleFlyMode)0x08155762;

	mov	DWORD PTR ?ToggleFly@@3P6AXXZA, 135616354 ; ToggleFly, 08155762H

; 882  : 			Parse_Console_Input = (ConsoleInput)0x08063F56;

	mov	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA, 134627158 ; Parse_Console_Input, 08063f56H

; 883  : 			Output_To_Console = (ConsoleOut)0x080642B2;

	mov	DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA, 134628018 ; Output_To_Console, 080642b2H

; 884  : 			SetPlayerType = (spt)0x080A2E50;

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

; 885  : 			GetPlayerCount = (gpc)0x080A5A62;

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

; 963  : 			Get_Safe_Data_Uint_Ref = (GetSafeDataUintRef)0;

	mov	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA, eax ; Get_Safe_Data_Uint_Ref

; 964  : 			Set_Safe_Data_Uint_Ref = (SetSafeDataUintRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA, eax ; Set_Safe_Data_Uint_Ref

; 965  : 			Set_Safe_Data_Int_Ref = (SetSafeDataIntRef)0;

	mov	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA, eax ; Set_Safe_Data_Int_Ref

; 990  : 		}
; 991  : 		break;
; 992  : 	}
; 993  : }

	ret	0
$L79534:

; 886  : 		}
; 887  : 		break;
; 888  : 	case 4: //leveledit
; 889  : 		{
; 890  : 			ConvertFrom = (void *)0;

	xor	eax, eax

; 891  : 			GetString = (void *)0;
; 892  : 			FreeString = (void *)0;
; 893  : 			GameMode = (unsigned int *)0;
; 894  : 			SetMoney = (SetStuff)0;
; 895  : 			SetScore = (SetStuff)0;
; 896  : 			overlap = (void *)0;
; 897  : 			Collect_Building_Components = (cbc)0;
; 898  : 			Start_Observers = (startobservers)0;
; 899  : 			Create_Library_Object = (CreateLibraryObject)0;
; 900  : 			FindClosestZone = (void *)0;
; 901  : 			InsideMe = (im)0;
; 902  : 			IsMapVTOL = (bool *)0;
; 903  : 			FindBuilding = (void *)0;
; 904  : 			PowerBase = (void *)0;
; 905  : 			SetCanGenerateSoldiers = (void *)0;
; 906  : 			SetCanGenerateVehicles = (void *)0;
; 907  : 			DestroyBase = (void *)0;
; 908  : 			SetBeaconDestroyedBase = (void *)0;
; 909  : 			EnableRadar = (void *)0;
; 910  : 			DefinitionArray = (PurchaseSettingsDefClass **)0;
; 911  : 			EmptyStr = (StringClass *)0;
; 912  : 			UninitialisedGrow = (void *)0;
; 913  : 			WideUninitialisedGrow = (void *)0;
; 914  : 			Find_Purchase_Definition = (void *)0;
; 915  : 			Find_Team_Purchase_Definition = (void *)0;
; 916  : 			Find_Definition = (FindDefinition)0;
; 917  : 			GetHarvester = (void *)0;
; 918  : 			Completly_Damaged = (CompletlyDamaged)0;
; 919  : 			GetINI = (void *)0;
; 920  : 			ReleaseINI = (void *)0;
; 921  : 			IniClassGetInt = (void *)0;
; 922  : 			IniClassGetDouble = (void *)0;
; 923  : 			IniClassGetBool = (void *)0;
; 924  : 			IniClassGetString = (void *)0;
; 925  : 			Get_VehicleName = (GetVehicleName)0;
; 926  : 			Get_Beacon_Owner = (GetBeaconOwner)0;
; 927  : 			Get_Color_For_Team = (GetTeamColor)0;
; 928  : 			GetColor = (GetPlayerColor)0;
; 929  : 			Get_Obj_Color = (GetObjColor)0;
; 930  : 			C4Defuse = (Defuse)0;
; 931  : 			GetVehicleCount = (GetCount)0;
; 932  : 			FindBase = (void *)0;
; 933  : 			PrivateMessageColor = (float *)0;
; 934  : 			PublicMessageColor = (float *)0;
; 935  : 			GDIHouseColor = (float *)0;
; 936  : 			NodHouseColor = (float *)0;
; 937  : 			Get_TDB_Object = (GetTDBObject)0;
; 938  : 			Get_Safe_Data_Int = (GetSafeDataInt)0;
; 939  : 			Get_Safe_Data_Float = (GetSafeDataFloat)0;
; 940  : 			Get_Safe_Data_Float_Ref = (GetSafeDataFloatRef)0;
; 941  : 			Set_Safe_Data_Float_Ref = (SetSafeDataFloatRef)0;
; 942  : 			GameType = (int *)0;
; 943  : 			IsListed = (bool *)0;
; 944  : 			Game_Mode_Find = (GameModeFind)0;
; 945  : 			SpawnCharGDI = (char *)0;
; 946  : 			SpawnCharNod = (char *)0;
; 947  : 			PacketManager = (void *)0;
; 948  : 			Bandwidth_Out = (BandwidthOut)0;
; 949  : 			Mine_Limit = (char *)0;
; 950  : 			RenNew = (rennew)0x007A783D;

	mov	ecx, 8026173				; 007a783dH
	mov	DWORD PTR ?RenNew@@3P6APAXK@ZA, ecx	; RenNew

; 951  : 			RenVecNew = (rennew)0x007A783D;

	mov	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, ecx	; RenVecNew

; 952  : 			RenDelete = (rendelete)0x007A7866;

	mov	ecx, 8026214				; 007a7866H
	mov	DWORD PTR ?ConvertFrom@@3PAXA, eax	; ConvertFrom
	mov	DWORD PTR ?GetString@@3PAXA, eax	; GetString
	mov	DWORD PTR ?FreeString@@3PAXA, eax	; FreeString
	mov	DWORD PTR ?GameMode@@3PAIA, eax		; GameMode
	mov	DWORD PTR ?SetMoney@@3P6AXM@ZA, eax	; SetMoney
	mov	DWORD PTR ?SetScore@@3P6AXM@ZA, eax	; SetScore
	mov	DWORD PTR ?overlap@@3PAXA, eax		; overlap
	mov	DWORD PTR ?Collect_Building_Components@@3P6AXXZA, eax ; Collect_Building_Components
	mov	DWORD PTR ?Start_Observers@@3P6AXXZA, eax ; Start_Observers
	mov	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA, eax ; Create_Library_Object
	mov	DWORD PTR ?FindClosestZone@@3PAXA, eax	; FindClosestZone
	mov	DWORD PTR ?InsideMe@@3P6A_NPAE@ZA, eax	; InsideMe
	mov	DWORD PTR ?IsMapVTOL@@3PA_NA, eax	; IsMapVTOL
	mov	DWORD PTR ?FindBuilding@@3PAXA, eax	; FindBuilding
	mov	DWORD PTR ?PowerBase@@3PAXA, eax	; PowerBase
	mov	DWORD PTR ?SetCanGenerateSoldiers@@3PAXA, eax ; SetCanGenerateSoldiers
	mov	DWORD PTR ?SetCanGenerateVehicles@@3PAXA, eax ; SetCanGenerateVehicles
	mov	DWORD PTR ?DestroyBase@@3PAXA, eax	; DestroyBase
	mov	DWORD PTR ?SetBeaconDestroyedBase@@3PAXA, eax ; SetBeaconDestroyedBase
	mov	DWORD PTR ?EnableRadar@@3PAXA, eax	; EnableRadar
	mov	DWORD PTR ?DefinitionArray@@3PAPAVPurchaseSettingsDefClass@@A, eax ; DefinitionArray
	mov	DWORD PTR ?EmptyStr@@3PAVStringClass@@A, eax ; EmptyStr
	mov	DWORD PTR ?UninitialisedGrow@@3PAXA, eax ; UninitialisedGrow
	mov	DWORD PTR ?WideUninitialisedGrow@@3PAXA, eax ; WideUninitialisedGrow
	mov	DWORD PTR ?Find_Purchase_Definition@@3PAXA, eax ; Find_Purchase_Definition
	mov	DWORD PTR ?Find_Team_Purchase_Definition@@3PAXA, eax ; Find_Team_Purchase_Definition
	mov	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA, eax ; Find_Definition
	mov	DWORD PTR ?GetHarvester@@3PAXA, eax	; GetHarvester
	mov	DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA, eax ; Completly_Damaged
	mov	DWORD PTR ?GetINI@@3PAXA, eax		; GetINI
	mov	DWORD PTR ?ReleaseINI@@3PAXA, eax	; ReleaseINI
	mov	DWORD PTR ?IniClassGetInt@@3PAXA, eax	; IniClassGetInt
	mov	DWORD PTR ?IniClassGetDouble@@3PAXA, eax ; IniClassGetDouble
	mov	DWORD PTR ?IniClassGetBool@@3PAXA, eax	; IniClassGetBool
	mov	DWORD PTR ?IniClassGetString@@3PAXA, eax ; IniClassGetString
	mov	DWORD PTR ?Get_VehicleName@@3P6APA_WXZA, eax ; Get_VehicleName
	mov	DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA, eax ; Get_Beacon_Owner
	mov	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA, eax ; Get_Color_For_Team
	mov	DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA, eax ; GetColor
	mov	DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA, eax ; Get_Obj_Color
	mov	DWORD PTR ?C4Defuse@@3P6AXXZA, eax	; C4Defuse
	mov	DWORD PTR ?GetVehicleCount@@3P6AIXZA, eax ; GetVehicleCount
	mov	DWORD PTR ?FindBase@@3PAXA, eax		; FindBase
	mov	DWORD PTR ?PrivateMessageColor@@3PAMA, eax ; PrivateMessageColor
	mov	DWORD PTR ?PublicMessageColor@@3PAMA, eax ; PublicMessageColor
	mov	DWORD PTR ?GDIHouseColor@@3PAMA, eax	; GDIHouseColor
	mov	DWORD PTR ?NodHouseColor@@3PAMA, eax	; NodHouseColor
	mov	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA, eax ; Get_TDB_Object
	mov	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA, eax ; Get_Safe_Data_Int
	mov	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA, eax ; Get_Safe_Data_Float
	mov	DWORD PTR ?Get_Safe_Data_Float_Ref@@3P6AMPAXAAPAM@ZA, eax ; Get_Safe_Data_Float_Ref
	mov	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA, eax ; Set_Safe_Data_Float_Ref
	mov	DWORD PTR ?GameType@@3PAHA, eax		; GameType
	mov	DWORD PTR ?IsListed@@3PA_NA, eax	; IsListed
	mov	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA, eax ; Game_Mode_Find
	mov	DWORD PTR ?SpawnCharGDI@@3PADA, eax	; SpawnCharGDI
	mov	DWORD PTR ?SpawnCharNod@@3PADA, eax	; SpawnCharNod
	mov	DWORD PTR ?PacketManager@@3PAXA, eax	; PacketManager
	mov	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA, eax ; Bandwidth_Out
	mov	DWORD PTR ?Mine_Limit@@3PADA, eax	; Mine_Limit
	mov	DWORD PTR ?RenDelete@@3P6AXPAX@ZA, ecx	; RenDelete

; 953  : 			RenVecDelete = (rendelete)0x007A7866;

	mov	DWORD PTR ?RenVecDelete@@3P6AXPAX@ZA, ecx ; RenVecDelete

; 954  : 			Get_Address = (GetAddress)0;

	mov	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA, eax ; Get_Address

; 955  : 			Get_Remote_Host = (GetRemoteHost)0;

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

; 956  : 			ServerConnection = (char **)0;

	mov	DWORD PTR ?ServerConnection@@3PAPADA, eax ; ServerConnection

; 957  : 			Game = (TheGame)0;

	mov	DWORD PTR ?Game@@3P6APAVcGameData@@XZA, eax ; Game

; 958  : 			Find_Team = (FindTeam)0;

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

; 959  : 			TallyTeamSize = (tts)0;

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

; 960  : 			Skirmish_Game = (TheSkirmishGame)0;

	mov	DWORD PTR ?Skirmish_Game@@3P6APAVcGameDataSkirmish@@XZA, eax ; Skirmish_Game

; 961  : 			Cnc_Game = (TheCncGame)0;

	mov	DWORD PTR ?Cnc_Game@@3P6APAVcGameDataCnc@@XZA, eax ; Cnc_Game

; 962  : 			Single_Player_Game = (TheSinglePlayerGame)0;

	mov	DWORD PTR ?Single_Player_Game@@3P6APAVcGameDataSinglePlayer@@XZA, eax ; Single_Player_Game

; 966  : 			Check_Transitions = (CheckTransitions)0;

	mov	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA, eax ; Check_Transitions

; 967  : 			Set_Transform = (SetTransform)0;

	mov	DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA, eax ; Set_Transform

; 968  : 			Get_Transform = (GetTransform)0;

	mov	DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA, eax ; Get_Transform

; 969  : 			BuildingGameObjList = (SList<GameObject> *)0;

	mov	DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A, eax ; BuildingGameObjList

; 970  : 			SmartGameObjList = (SList<GameObject> *)0;

	mov	DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A, eax ; SmartGameObjList

; 971  : 			BaseGameObjList = (SList<GameObject> *)0;

	mov	DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A, eax ; BaseGameObjList

; 972  : 			FindPlayer = (Find_Player)0;

	mov	DWORD PTR ?FindPlayer@@3P6APAEH@ZA, eax	; FindPlayer

; 973  : 			FindNamedDef = (Find_Named_Def)0;

	mov	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA, eax ; FindNamedDef

; 974  : 			SoldierReInit = (ReInit)0;

	mov	DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA, eax ; SoldierReInit

; 975  : 			Post_ReInit = (PostReInit)0;

	mov	DWORD PTR ?Post_ReInit@@3P6AXXZA, eax	; Post_ReInit

; 976  : 			SetMaxHealth = (SetMax)0;

	mov	DWORD PTR ?SetMaxHealth@@3P6AXM@ZA, eax	; SetMaxHealth

; 977  : 			SetMaxShieldStrength = (SetMax)0;

	mov	DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA, eax ; SetMaxShieldStrength

; 978  : 			Grant_Supplies = (GrantSupplies)0;

	mov	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA, eax ; Grant_Supplies

; 979  : 			Powerup_Grant = (PowerupGrant)0;

	mov	DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA, eax ; Powerup_Grant

; 980  : 			Get_Armor_Name = (GetArmorName)0;

	mov	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA, eax ; Get_Armor_Name

; 981  : 			Get_Armor_Type = (GetArmorType)0;

	mov	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA, eax ; Get_Armor_Type

; 982  : 			Mark_Owner_Dirty = (MarkOwnerDirty)0;

	mov	DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA, eax ; Mark_Owner_Dirty

; 983  : 			Is_Available_For_Purchase = (IsAvailable)0;

	mov	DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA, eax ; Is_Available_For_Purchase

; 984  : 			Request_Vehicle = (RequestVehicle)0;

	mov	DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA, eax ; Request_Vehicle

; 985  : 			ToggleFly = (ToggleFlyMode)0;

	mov	DWORD PTR ?ToggleFly@@3P6AXXZA, eax	; ToggleFly

; 986  : 			Parse_Console_Input = (ConsoleInput)0;

	mov	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA, eax ; Parse_Console_Input

; 987  : 			Output_To_Console = (ConsoleOut)0;

	mov	DWORD PTR ?Output_To_Console@@3P6AXPBD@ZA, eax ; Output_To_Console

; 988  : 			SetPlayerType = (spt)0;

	mov	DWORD PTR ?SetPlayerType@@3P6AXPAEH@ZA, eax ; SetPlayerType

; 989  : 			GetPlayerCount = (gpc)0;

	mov	DWORD PTR ?GetPlayerCount@@3P6AHXZA, eax ; GetPlayerCount
	mov	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA, eax ; Get_Safe_Data_Uint_Ref
	mov	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA, eax ; Set_Safe_Data_Uint_Ref
	mov	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA, eax ; Set_Safe_Data_Int_Ref
$L79127:

; 990  : 		}
; 991  : 		break;
; 992  : 	}
; 993  : }

	ret	0
	npad	2
$L85149:
	DD	$L79130
	DD	$L79231
	DD	$L79332
	DD	$L79433
	DD	$L79534
?InitEngine@@YAXXZ ENDP					; InitEngine
_TEXT	ENDS
PUBLIC	?As_ScriptableGameObj@@YAPAEPAE@Z		; As_ScriptableGameObj
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
; Function compile flags: /Ogty
;	COMDAT ?As_ScriptableGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_ScriptableGameObj@@YAPAEPAE@Z PROC NEAR		; As_ScriptableGameObj, COMDAT

; 996  : {

	push	ebp
	mov	ebp, esp

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

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

; 998  : 	{
; 999  : 		return 0;
; 1000 : 	}
; 1001 : #ifdef WIN32
; 1002 : 	_asm {
; 1003 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1004 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1005 : 		mov eax,[ebx+0x30]

	mov	eax, DWORD PTR [ebx+48]

; 1006 : 		call eax

	call	eax

; 1007 : 	}
; 1008 : #elif defined RH8
; 1009 : 	char *c = (char *)*(unsigned int *)obj;
; 1010 : 	c += 0x34;
; 1011 : 	ago *t = (ago *)c;
; 1012 : 	ago agox = *t;
; 1013 : 	return agox(obj);
; 1014 : #else
; 1015 : 	GameObject *o = obj + 4;
; 1016 : 	char *c = (char *)*(unsigned int *)o;
; 1017 : 	c += 0x38;
; 1018 : 	ago *t = (ago *)c;
; 1019 : 	ago agox = *t;
; 1020 : 	return agox(obj);
; 1021 : #endif
; 1022 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79639:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_ScriptableGameObj@@YAPAEPAE@Z ENDP			; As_ScriptableGameObj
_TEXT	ENDS
PUBLIC	?As_PhysicalGameObj@@YAPAEPAE@Z			; As_PhysicalGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_PhysicalGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_PhysicalGameObj@@YAPAEPAE@Z PROC NEAR		; As_PhysicalGameObj, COMDAT

; 1025 : {

	push	ebp
	mov	ebp, esp

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

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

; 1027 : 	{
; 1028 : 		return 0;
; 1029 : 	}
; 1030 : #ifdef WIN32
; 1031 : 	_asm {
; 1032 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1033 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1034 : 		mov eax,[ebx+0x24]

	mov	eax, DWORD PTR [ebx+36]

; 1035 : 		call eax

	call	eax

; 1036 : 	}
; 1037 : #elif defined RH8
; 1038 : 	char *c = (char *)*(unsigned int *)obj;
; 1039 : 	c += 0x28;
; 1040 : 	ago *t = (ago *)c;
; 1041 : 	ago agox = *t;
; 1042 : 	return agox(obj);
; 1043 : #else
; 1044 : 	GameObject *o = obj + 4;
; 1045 : 	char *c = (char *)*(unsigned int *)o;
; 1046 : 	c += 0x2C;
; 1047 : 	ago *t = (ago *)c;
; 1048 : 	ago agox = *t;
; 1049 : 	return agox(obj);
; 1050 : #endif
; 1051 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79644:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_PhysicalGameObj@@YAPAEPAE@Z ENDP			; As_PhysicalGameObj
_TEXT	ENDS
PUBLIC	?As_CinematicGameObj@@YAPAEPAE@Z		; As_CinematicGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_CinematicGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_CinematicGameObj@@YAPAEPAE@Z PROC NEAR		; As_CinematicGameObj, COMDAT

; 1054 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 1056 : 	{
; 1057 : 		return 0;
; 1058 : 	}
; 1059 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 1060 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 1061 : 	{
; 1062 : 		return 0;

	je	SHORT $L79649

; 1063 : 	}
; 1064 : #ifdef WIN32
; 1065 : 	_asm {
; 1066 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 1067 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1068 : 		mov eax,[ebx+0x98]

	mov	eax, DWORD PTR [ebx+152]

; 1069 : 		call eax

	call	eax

; 1070 : 	}
; 1071 : #elif defined RH8
; 1072 : 	char *c = (char *)*(unsigned int *)obj;
; 1073 : 	c += 0xC0;
; 1074 : 	ago *t = (ago *)c;
; 1075 : 	ago agox = *t;
; 1076 : 	return agox(obj);
; 1077 : #else
; 1078 : 	GameObject *o = obj + 4;
; 1079 : 	char *c = (char *)*(unsigned int *)o;
; 1080 : 	c += 0xA0;
; 1081 : 	ago *t = (ago *)c;
; 1082 : 	ago agox = *t;
; 1083 : 	return agox(obj);
; 1084 : #endif
; 1085 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L79649:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_CinematicGameObj@@YAPAEPAE@Z ENDP			; As_CinematicGameObj
_TEXT	ENDS
PUBLIC	?As_VehicleGameObj@@YAPAEPAE@Z			; As_VehicleGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_VehicleGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_VehicleGameObj@@YAPAEPAE@Z PROC NEAR		; As_VehicleGameObj, COMDAT

; 1088 : {

	push	ebp
	mov	ebp, esp

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

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

; 1090 : 	{
; 1091 : 		return 0;
; 1092 : 	}
; 1093 : #ifdef WIN32
; 1094 : 	_asm {
; 1095 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1096 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1097 : 		mov eax,[ebx+0x28]

	mov	eax, DWORD PTR [ebx+40]

; 1098 : 		call eax

	call	eax

; 1099 : 	}
; 1100 : #elif defined RH8
; 1101 : 	char *c = (char *)*(unsigned int *)obj;
; 1102 : 	c += 0x2C;
; 1103 : 	ago *t = (ago *)c;
; 1104 : 	ago agox = *t;
; 1105 : 	return agox(obj);
; 1106 : #else
; 1107 : 	GameObject *o = obj + 4;
; 1108 : 	char *c = (char *)*(unsigned int *)o;
; 1109 : 	c += 0x30;
; 1110 : 	ago *t = (ago *)c;
; 1111 : 	ago agox = *t;
; 1112 : 	return agox(obj);
; 1113 : #endif
; 1114 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79656:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_VehicleGameObj@@YAPAEPAE@Z ENDP			; As_VehicleGameObj
_TEXT	ENDS
PUBLIC	?As_SmartGameObj@@YAPAEPAE@Z			; As_SmartGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_SmartGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_SmartGameObj@@YAPAEPAE@Z PROC NEAR			; As_SmartGameObj, COMDAT

; 1117 : {

	push	ebp
	mov	ebp, esp

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

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

; 1119 : 	{
; 1120 : 		return 0;
; 1121 : 	}
; 1122 : #ifdef WIN32
; 1123 : 	_asm {
; 1124 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1125 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1126 : 		mov eax,[ebx+0x2C]

	mov	eax, DWORD PTR [ebx+44]

; 1127 : 		call eax

	call	eax

; 1128 : 	}
; 1129 : #elif defined RH8
; 1130 : 	char *c = (char *)*(unsigned int *)obj;
; 1131 : 	c += 0x30;
; 1132 : 	ago *t = (ago *)c;
; 1133 : 	ago agox = *t;
; 1134 : 	return agox(obj);
; 1135 : #else
; 1136 : 	GameObject *o = obj + 4;
; 1137 : 	char *c = (char *)*(unsigned int *)o;
; 1138 : 	c += 0x34;
; 1139 : 	ago *t = (ago *)c;
; 1140 : 	ago agox = *t;
; 1141 : 	return agox(obj);
; 1142 : #endif
; 1143 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79661:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_SmartGameObj@@YAPAEPAE@Z ENDP			; As_SmartGameObj
_TEXT	ENDS
PUBLIC	?As_DamageableGameObj@@YAPAEPAE@Z		; As_DamageableGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_DamageableGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_DamageableGameObj@@YAPAEPAE@Z PROC NEAR		; As_DamageableGameObj, COMDAT

; 1146 : {

	push	ebp
	mov	ebp, esp

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

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

; 1148 : 	{
; 1149 : 		return 0;
; 1150 : 	}
; 1151 : #ifdef WIN32
; 1152 : 	_asm {
; 1153 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1154 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1155 : 		mov eax,[ebx+0x3C]

	mov	eax, DWORD PTR [ebx+60]

; 1156 : 		call eax

	call	eax

; 1157 : 	}
; 1158 : #elif defined RH8
; 1159 : 	char *c = (char *)*(unsigned int *)obj;
; 1160 : 	c += 0x4C;
; 1161 : 	ago *t = (ago *)c;
; 1162 : 	ago agox = *t;
; 1163 : 	return agox(obj);
; 1164 : #else
; 1165 : 	GameObject *o = obj + 4;
; 1166 : 	char *c = (char *)*(unsigned int *)o;
; 1167 : 	c += 0x44;
; 1168 : 	ago *t = (ago *)c;
; 1169 : 	ago agox = *t;
; 1170 : 	return agox(obj);
; 1171 : #endif
; 1172 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79666:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_DamageableGameObj@@YAPAEPAE@Z ENDP			; As_DamageableGameObj
_TEXT	ENDS
PUBLIC	?As_SoldierGameObj@@YAPAEPAE@Z			; As_SoldierGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_SoldierGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_SoldierGameObj@@YAPAEPAE@Z PROC NEAR		; As_SoldierGameObj, COMDAT

; 1175 : {

	push	ebp
	mov	ebp, esp

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

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

; 1177 : 	{
; 1178 : 		return 0;
; 1179 : 	}
; 1180 : #ifdef WIN32
; 1181 : 	_asm {
; 1182 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1183 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1184 : 		mov eax,[ebx+0x44]

	mov	eax, DWORD PTR [ebx+68]

; 1185 : 		call eax

	call	eax

; 1186 : 	}
; 1187 : #elif defined RH8
; 1188 : 	char *c = (char *)*(unsigned int *)obj;
; 1189 : 	c += 0x54;
; 1190 : 	ago *t = (ago *)c;
; 1191 : 	ago agox = *t;
; 1192 : 	return agox(obj);
; 1193 : #else
; 1194 : 	GameObject *o = obj + 4;
; 1195 : 	char *c = (char *)*(unsigned int *)o;
; 1196 : 	c += 0x4C;
; 1197 : 	ago *t = (ago *)c;
; 1198 : 	ago agox = *t;
; 1199 : 	return agox(obj);
; 1200 : #endif
; 1201 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79671:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_SoldierGameObj@@YAPAEPAE@Z ENDP			; As_SoldierGameObj
_TEXT	ENDS
PUBLIC	?As_ScriptZoneGameObj@@YAPAEPAE@Z		; As_ScriptZoneGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_ScriptZoneGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_ScriptZoneGameObj@@YAPAEPAE@Z PROC NEAR		; As_ScriptZoneGameObj, COMDAT

; 1204 : {

	push	ebp
	mov	ebp, esp

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

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

; 1206 : 	{
; 1207 : 		return 0;
; 1208 : 	}
; 1209 : #ifdef WIN32
; 1210 : 	_asm {
; 1211 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1212 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1213 : 		mov eax,[ebx+0x48]

	mov	eax, DWORD PTR [ebx+72]

; 1214 : 		call eax

	call	eax

; 1215 : 	}
; 1216 : #elif defined RH8
; 1217 : 	char *c = (char *)*(unsigned int *)obj;
; 1218 : 	c += 0x58;
; 1219 : 	ago *t = (ago *)c;
; 1220 : 	ago agox = *t;
; 1221 : 	return agox(obj);
; 1222 : #else
; 1223 : 	GameObject *o = obj + 4;
; 1224 : 	char *c = (char *)*(unsigned int *)o;
; 1225 : 	c += 0x50;
; 1226 : 	ago *t = (ago *)c;
; 1227 : 	ago agox = *t;
; 1228 : 	return agox(obj);
; 1229 : #endif
; 1230 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79676:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_ScriptZoneGameObj@@YAPAEPAE@Z ENDP			; As_ScriptZoneGameObj
_TEXT	ENDS
PUBLIC	?As_BuildingGameObj@@YAPAEPAE@Z			; As_BuildingGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_BuildingGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?As_BuildingGameObj@@YAPAEPAE@Z PROC NEAR		; As_BuildingGameObj, COMDAT

; 1233 : {

	push	ebp
	mov	ebp, esp

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

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

; 1235 : 	{
; 1236 : 		return 0;
; 1237 : 	}
; 1238 : #ifdef WIN32
; 1239 : 	_asm {
; 1240 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1241 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 1242 : 		mov eax,[ebx+0x40]

	mov	eax, DWORD PTR [ebx+64]

; 1243 : 		call eax

	call	eax

; 1244 : 	}
; 1245 : #elif defined RH8
; 1246 : 	char *c = (char *)*(unsigned int *)obj;
; 1247 : 	c += 0x50;
; 1248 : 	ago *t = (ago *)c;
; 1249 : 	ago agox = *t;
; 1250 : 	return agox(obj);
; 1251 : #else
; 1252 : 	GameObject *o = obj + 4;
; 1253 : 	char *c = (char *)*(unsigned int *)o;
; 1254 : 	c += 0x48;
; 1255 : 	ago *t = (ago *)c;
; 1256 : 	ago agox = *t;
; 1257 : 	return agox(obj);
; 1258 : #endif
; 1259 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79681:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?As_BuildingGameObj@@YAPAEPAE@Z ENDP			; As_BuildingGameObj
_TEXT	ENDS
PUBLIC	?Get_Model@@YAPBDPAE@Z				; Get_Model
PUBLIC	??_C@_05FAECCOPD@DUMMY?$AA@			; `string'
;	COMDAT ??_C@_05FAECCOPD@DUMMY?$AA@
CONST	SEGMENT
??_C@_05FAECCOPD@DUMMY?$AA@ DB 'DUMMY', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Model@@YAPBDPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Model@@YAPBDPAE@Z PROC NEAR			; Get_Model, COMDAT

; 1262 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 1264 : 	{
; 1265 : 		return "DUMMY";
; 1266 : 	}
; 1267 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1268 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax

; 1269 : 	{
; 1270 : 		return "DUMMY";

	je	SHORT $L79686

; 1271 : 	}
; 1272 : #ifdef WIN32
; 1273 : 	_asm {
; 1274 : 		mov eax,o

	mov	eax, DWORD PTR _o$[ebp]

; 1275 : 		mov ebx,[eax+0x774]

	mov	ebx, DWORD PTR [eax+1908]

; 1276 : 		mov ecx,[ebx+0x3C]

	mov	ecx, DWORD PTR [ebx+60]

; 1277 : 		mov eax,[ecx]

	mov	eax, DWORD PTR [ecx]

; 1278 : 		mov ebx,[eax+0x10]

	mov	ebx, DWORD PTR [eax+16]

; 1279 : 		call ebx

	call	ebx

; 1280 : 	}
; 1281 : #else
; 1282 : 	o+=0x774;
; 1283 : 	char *p = (char *)*(unsigned int *)o;
; 1284 : 	p+=0x54;
; 1285 : 	char *r = (char *)*(unsigned int *)p;
; 1286 : #ifndef RH8
; 1287 : 	r += 0x1C;
; 1288 : #endif
; 1289 : 	char *v = (char *)*(unsigned int *)r;
; 1290 : #ifndef RH8
; 1291 : 	r -= 0x1C;
; 1292 : 	v += 4;
; 1293 : #endif
; 1294 : 	v += 0x14;
; 1295 : 	Get_Name *n = (Get_Name*)v;
; 1296 : 	Get_Name gn = (Get_Name)*n;
; 1297 : 	return gn(r);
; 1298 : #endif
; 1299 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L79686:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_05FAECCOPD@DUMMY?$AA@
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Model@@YAPBDPAE@Z ENDP				; Get_Model
_TEXT	ENDS
PUBLIC	?Get_Object_Type@@YAHPAE@Z			; Get_Object_Type
; Function compile flags: /Ogty
;	COMDAT ?Get_Object_Type@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Object_Type@@YAHPAE@Z PROC NEAR			; Get_Object_Type, COMDAT

; 1302 : {

	push	ebp
	mov	ebp, esp

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

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

; 1304 : 	{
; 1305 : 		return 0;
; 1306 : 	}
; 1307 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 1308 : 	if (!o)

	test	eax, eax

; 1309 : 	{
; 1310 : 		return 0;

	je	SHORT $L79694

; 1311 : 	}
; 1312 : 	char *c = (char *)obj;
; 1313 : 	c += 0x764;
; 1314 : 	return *(int *)c;

	mov	eax, DWORD PTR [esi+1892]

; 1315 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79694:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Object_Type@@YAHPAE@Z ENDP				; Get_Object_Type
_TEXT	ENDS
PUBLIC	?Set_Object_Type@@YAXPAEH@Z			; Set_Object_Type
; Function compile flags: /Ogty
;	COMDAT ?Set_Object_Type@@YAXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_type$ = 12						; size = 4
?Set_Object_Type@@YAXPAEH@Z PROC NEAR			; Set_Object_Type, COMDAT

; 1318 : {

	push	ebp
	mov	ebp, esp

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

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

; 1320 : 	{
; 1321 : 		return;
; 1322 : 	}
; 1323 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 1324 : 	if (!o)

	test	eax, eax
	je	SHORT $L79705

; 1325 : 	{
; 1326 : 		return;
; 1327 : 	}
; 1328 : 	char *c = (char *)obj;
; 1329 : 	c += 0x764;
; 1330 : 	int *x = (int *)c;
; 1331 : 	*x = type;

	mov	edx, DWORD PTR _type$[ebp]
	mov	DWORD PTR [esi+1892], edx
$L79705:

; 1332 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Set_Object_Type@@YAXPAEH@Z ENDP			; Set_Object_Type
_TEXT	ENDS
PUBLIC	?Get_Definition@@YAPAVDefinitionClass@@PAE@Z	; Get_Definition
; Function compile flags: /Ogty
;	COMDAT ?Get_Definition@@YAPAVDefinitionClass@@PAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Definition@@YAPAVDefinitionClass@@PAE@Z PROC NEAR	; Get_Definition, COMDAT

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

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

; 1339 : 	}
; 1340 : 	char *c = (char *)obj;
; 1341 : 	c += 0x6BC;
; 1342 : 	return (DefinitionClass *)*(DefinitionClass **)c;

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

; 1343 : }

	ret	0
$L79716:

; 1337 : 	{
; 1338 : 		return 0;

	xor	eax, eax
	pop	esi

; 1343 : }

	ret	0
?Get_Definition@@YAPAVDefinitionClass@@PAE@Z ENDP	; Get_Definition
_TEXT	ENDS
PUBLIC	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
; Function compile flags: /Ogty
;	COMDAT ?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z PROC NEAR ; Get_Phys_Definition, COMDAT

; 1346 : {

	push	ebp
	mov	ebp, esp

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

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

; 1348 : 	{
; 1349 : 		return 0;
; 1350 : 	}
; 1351 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1352 : 	if (!o)

	test	eax, eax

; 1353 : 	{
; 1354 : 		return 0;

	je	SHORT $L79725

; 1355 : 	}
; 1356 : 	o+=0x774;
; 1357 : 	char *p = (char *)*(unsigned int *)o;
; 1358 : #ifdef WIN32
; 1359 : 	p += 0x50;
; 1360 : #else
; 1361 : 	p += 0x68;
; 1362 : #endif
; 1363 : 	return (DefinitionClass *)*(unsigned int *)p;

	mov	edx, DWORD PTR [eax+1908]
	mov	eax, DWORD PTR [edx+80]

; 1364 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79725:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ENDP	; Get_Phys_Definition
_TEXT	ENDS
PUBLIC	?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z	; Soldier_Re_Init
; Function compile flags: /Ogty
;	COMDAT ?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_def$ = 12						; size = 4
?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z PROC NEAR ; Soldier_Re_Init, COMDAT

; 1367 : {

	push	ebp
	mov	ebp, esp

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

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

; 1369 : 	{
; 1370 : 		return;
; 1371 : 	}
; 1372 : #ifdef WIN32
; 1373 : 	_asm {
; 1374 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1375 : 		mov eax,def

	mov	eax, DWORD PTR _def$[ebp]

; 1376 : 		mov ebx,SoldierReInit

	mov	ebx, DWORD PTR ?SoldierReInit@@3P6AXPAVDefinitionClass@@@ZA ; SoldierReInit

; 1377 : 		push eax

	push	eax

; 1378 : 		call ebx

	call	ebx
$L79738:

; 1379 : 	}
; 1380 : #else
; 1381 : 	SoldierReInit(obj,def);
; 1382 : #endif
; 1383 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z ENDP	; Soldier_Re_Init
_TEXT	ENDS
PUBLIC	?Find_Named_Definition@@YAPAVDefinitionClass@@PBD@Z ; Find_Named_Definition
; Function compile flags: /Ogty
;	COMDAT ?Find_Named_Definition@@YAPAVDefinitionClass@@PBD@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
?Find_Named_Definition@@YAPAVDefinitionClass@@PBD@Z PROC NEAR ; Find_Named_Definition, COMDAT

; 1387 : 	return FindNamedDef(name,1);

	mov	eax, DWORD PTR _name$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8

; 1388 : }

	ret	0
?Find_Named_Definition@@YAPAVDefinitionClass@@PBD@Z ENDP ; Find_Named_Definition
_TEXT	ENDS
PUBLIC	?Post_Re_Init@@YAXPAE@Z				; Post_Re_Init
; Function compile flags: /Ogty
;	COMDAT ?Post_Re_Init@@YAXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Post_Re_Init@@YAXPAE@Z PROC NEAR			; Post_Re_Init, COMDAT

; 1391 : {

	push	ebp
	mov	ebp, esp

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

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

; 1393 : 	{
; 1394 : 		return;
; 1395 : 	}
; 1396 : #ifdef WIN32
; 1397 : 	_asm {
; 1398 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 1399 : 		mov ebx,Post_ReInit

	mov	ebx, DWORD PTR ?Post_ReInit@@3P6AXXZA	; Post_ReInit

; 1400 : 		call ebx

	call	ebx
$L79746:

; 1401 : 	}
; 1402 : #else
; 1403 : 	Post_ReInit(obj);
; 1404 : #endif
; 1405 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Post_Re_Init@@YAXPAE@Z ENDP				; Post_Re_Init
_TEXT	ENDS
PUBLIC	?WideCharToChar@@YAPBDPB_W@Z			; WideCharToChar
EXTRN	_wcslen:NEAR
EXTRN	_wcstombs:NEAR
; Function compile flags: /Ogty
;	COMDAT ?WideCharToChar@@YAPBDPB_W@Z
_TEXT	SEGMENT
_wcs$ = 8						; size = 4
?WideCharToChar@@YAPBDPB_W@Z PROC NEAR			; WideCharToChar, COMDAT

; 1433 : {

	push	ebx

; 1434 : 	int length = wcslen(wcs);

	mov	ebx, DWORD PTR _wcs$[esp]
	push	esi
	push	edi
	push	ebx
	call	_wcslen
	mov	esi, eax

; 1435 : 	char *text = new char[length+1];

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	test	eax, eax
	jne	SHORT $L85222
	call	_Init
$L85222:
	inc	esi
	push	esi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew

; 1436 : 	wcstombs(text,wcs,length+1);

	push	esi
	mov	edi, eax
	push	ebx
	push	edi
	call	_wcstombs
	add	esp, 16					; 00000010H

; 1437 : 	return text;

	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 1438 : }

	ret	0
?WideCharToChar@@YAPBDPB_W@Z ENDP			; WideCharToChar
_TEXT	ENDS
PUBLIC	?Get_Player_Name_By_ID@@YAPBDH@Z		; Get_Player_Name_By_ID
; Function compile flags: /Ogty
;	COMDAT ?Get_Player_Name_By_ID@@YAPBDH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_Player_Name_By_ID@@YAPBDH@Z PROC NEAR		; Get_Player_Name_By_ID, COMDAT

; 1468 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 1469 : 	if (!x)

	test	eax, eax
	jne	SHORT $L79785

; 1479 : }

	ret	0
$L79785:
	push	ebx

; 1470 : 	{
; 1471 : 		return 0;
; 1472 : 	}
; 1473 : #ifdef RH8
; 1474 : 	x += 0x754;
; 1475 : #else
; 1476 : 	x += 0x758;
; 1477 : #endif
; 1478 : 	return WideCharToChar((const wchar_t *)*(unsigned int *)x);

	mov	ebx, DWORD PTR [eax+1880]
	push	esi
	push	edi
	push	ebx
	call	_wcslen
	mov	esi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	test	eax, eax
	jne	SHORT $L85238
	call	_Init
$L85238:
	inc	esi
	push	esi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	push	esi
	mov	edi, eax
	push	ebx
	push	edi
	call	_wcstombs
	add	esp, 16					; 00000010H
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 1479 : }

	ret	0
?Get_Player_Name_By_ID@@YAPBDH@Z ENDP			; Get_Player_Name_By_ID
_TEXT	ENDS
PUBLIC	?Change_Team@@YAXPAEH@Z				; Change_Team
; Function compile flags: /Ogty
;	COMDAT ?Change_Team@@YAXPAEH@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_obj$ = 8						; size = 4
_Team$ = 12						; size = 4
?Change_Team@@YAXPAEH@Z PROC NEAR			; Change_Team, COMDAT

; 1503 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 1505 : 	{
; 1506 : 		return;
; 1507 : 	}
; 1508 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 1509 : 	if (!o)

	test	eax, eax
	je	SHORT $L79800

; 1510 : 	{
; 1511 : 		return;
; 1512 : 	}
; 1513 : 	char *c = (char *)o;
; 1514 : 	c += 0x960;
; 1515 : 	unsigned char *x = (unsigned char *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 1516 : 	if (!x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	SHORT $L79800

; 1517 : 	{
; 1518 : 		return;
; 1519 : 	}
; 1520 : #ifdef WIN32
; 1521 : 	_asm {
; 1522 : 		mov ebx,SetPlayerType

	mov	ebx, DWORD PTR ?SetPlayerType@@3P6AXPAEH@ZA ; SetPlayerType

; 1523 : 		mov ecx,x

	mov	ecx, DWORD PTR _x$[ebp]

; 1524 : 		push Team

	push	DWORD PTR _Team$[ebp]

; 1525 : 		call ebx

	call	ebx

; 1526 : 	}
; 1527 : #else
; 1528 : 	SetPlayerType(x,Team);
; 1529 : #endif
; 1530 : 	Commands->Destroy_Object(obj);

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

; 1531 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Change_Team@@YAXPAEH@Z ENDP				; Change_Team
_TEXT	ENDS
PUBLIC	?Get_Player_ID@@YAJPAE@Z			; Get_Player_ID
; Function compile flags: /Ogty
;	COMDAT ?Get_Player_ID@@YAJPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Player_ID@@YAJPAE@Z PROC NEAR			; Get_Player_ID, COMDAT

; 1534 : {

	push	ebp
	mov	ebp, esp

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

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

; 1536 : 	{
; 1537 : 		return -1;
; 1538 : 	}
; 1539 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 1540 : 	if (!o)

	test	eax, eax

; 1541 : 	{
; 1542 : 		return -1;

	je	SHORT $L79813

; 1543 : 	}
; 1544 : 	char *c = (char *)o;
; 1545 : 	c += 0x960;
; 1546 : 	char *x = (char *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 1547 : 	if (!x)

	test	eax, eax

; 1548 : 	{
; 1549 : 		return -1;

	je	SHORT $L79813

; 1550 : 	}
; 1551 : #ifdef RH8
; 1552 : 	x += 0x758;
; 1553 : #else
; 1554 : 	x += 0x75C;
; 1555 : #endif
; 1556 : 	return (long)*(unsigned long*)x;

	mov	eax, DWORD PTR [eax+1884]

; 1557 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79813:
	pop	esi
	or	eax, -1
	pop	ebx
	pop	ebp
	ret	0
?Get_Player_ID@@YAJPAE@Z ENDP				; Get_Player_ID
_TEXT	ENDS
PUBLIC	?Get_GameObj@@YAPAEH@Z				; Get_GameObj
; Function compile flags: /Ogty
;	COMDAT ?Get_GameObj@@YAPAEH@Z
_TEXT	SEGMENT
_PlayerID$ = 8						; size = 4
?Get_GameObj@@YAPAEH@Z PROC NEAR			; Get_GameObj, COMDAT

; 1561 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 1562 : 	if (x)

	test	eax, eax
	je	SHORT $L79828

; 1563 : 	{
; 1564 : #ifdef WIN32
; 1565 : 		unsigned char *playerdata = (unsigned char *)x + 0x14;
; 1566 : #elif defined RH8
; 1567 : 		unsigned char *playerdata = (unsigned char *)x + 0x14;
; 1568 : #else
; 1569 : 		unsigned char *playerdata = (unsigned char *)x + 0x10;
; 1570 : #endif
; 1571 : 		unsigned char *y = (unsigned char*)*((unsigned char **)playerdata);

	mov	eax, DWORD PTR [eax+20]

; 1572 : 		if (!y)

	test	eax, eax

; 1573 : 		{
; 1574 : 			return 0;

	je	SHORT $L79828

; 1575 : 		}
; 1576 : 		y += 4;
; 1577 : 		GameObject *z = (GameObject *)*(GameObject **)y;
; 1578 : 		return z;

	mov	eax, DWORD PTR [eax+4]

; 1583 : 	}
; 1584 : }

	ret	0
$L79828:

; 1579 : 	}
; 1580 : 	else 
; 1581 : 	{
; 1582 : 		return 0;

	xor	eax, eax

; 1583 : 	}
; 1584 : }

	ret	0
?Get_GameObj@@YAPAEH@Z ENDP				; Get_GameObj
_TEXT	ENDS
PUBLIC	?Find_Building_By_Class_ID@@YAPAEHK@Z		; Find_Building_By_Class_ID
; Function compile flags: /Ogty
;	COMDAT ?Find_Building_By_Class_ID@@YAPAEHK@Z
_TEXT	SEGMENT
$T85270 = -4						; size = 4
_o$79885 = -4						; size = 4
_Team$ = 8						; size = 4
_Class_ID$ = 12						; size = 4
?Find_Building_By_Class_ID@@YAPAEHK@Z PROC NEAR		; Find_Building_By_Class_ID, COMDAT

; 1587 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1588 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1589 : 	while (x)

	test	edi, edi
	je	$L79884
	npad	9
$L79883:

; 1590 : 	{
; 1591 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85270[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L79890
	test	esi, esi
	je	SHORT $L79890
	mov	ecx, DWORD PTR $T85270[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1592 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79885[ebp], esi
	je	SHORT $L79890

; 1593 : 		{
; 1594 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85275
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L85273
$L85275:
	xor	ecx, ecx
$L85273:

; 1595 : 			if (d->Get_Class_ID() == Class_ID)

	mov	eax, DWORD PTR [ecx]
	call	DWORD PTR [eax+32]
	cmp	eax, DWORD PTR _Class_ID$[ebp]
	jne	SHORT $L79890

; 1596 : 			{
; 1597 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85290
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85290
	mov	ecx, DWORD PTR _o$79885[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85290
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85288
$L85290:
	xor	eax, eax
$L85288:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L79891
	cmp	ecx, 2
	je	SHORT $L79891
$L79890:

; 1598 : 				{
; 1599 : 					return o;
; 1600 : 				}
; 1601 : 			}
; 1602 : 		}
; 1603 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79883
$L79884:

; 1604 : 	}
; 1605 : 	return 0;

	xor	eax, eax

; 1606 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L79891:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Building_By_Class_ID@@YAPAEHK@Z ENDP		; Find_Building_By_Class_ID
_TEXT	ENDS
PUBLIC	?Find_Building_By_Team@@YAPAEH@Z		; Find_Building_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Building_By_Team@@YAPAEH@Z
_TEXT	SEGMENT
$T85307 = -4						; size = 4
_o$79899 = -4						; size = 4
_Team$ = 8						; size = 4
?Find_Building_By_Team@@YAPAEH@Z PROC NEAR		; Find_Building_By_Team, COMDAT

; 1609 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1610 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1611 : 	while (x)

	test	edi, edi
	je	SHORT $L79898
$L79897:

; 1612 : 	{
; 1613 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85307[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79902
	test	esi, esi
	je	SHORT $L79902
	mov	ecx, DWORD PTR $T85307[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1614 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79899[ebp], esi
	je	SHORT $L79902

; 1615 : 		{
; 1616 : 			if (Get_Object_Type(o) == Team)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85321
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85321
	mov	ecx, DWORD PTR _o$79899[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85321
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85319
$L85321:
	xor	eax, eax
$L85319:
	cmp	eax, DWORD PTR _Team$[ebp]
	je	SHORT $L85327
$L79902:

; 1617 : 			{
; 1618 : 				return o;
; 1619 : 			}
; 1620 : 		}
; 1621 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L79897
$L79898:

; 1622 : 	}
; 1623 : 	return 0;

	xor	eax, eax

; 1624 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L85327:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Building_By_Team@@YAPAEH@Z ENDP			; Find_Building_By_Team
_TEXT	ENDS
PUBLIC	?Find_Building_By_Name@@YAPAEHPBD@Z		; Find_Building_By_Name
EXTRN	_stricmp:NEAR
; Function compile flags: /Ogty
;	COMDAT ?Find_Building_By_Name@@YAPAEHPBD@Z
_TEXT	SEGMENT
$T85339 = -4						; size = 4
_o$79911 = -4						; size = 4
_Team$ = 8						; size = 4
_Preset_Name$ = 12					; size = 4
?Find_Building_By_Name@@YAPAEHPBD@Z PROC NEAR		; Find_Building_By_Name, COMDAT

; 1627 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1628 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1629 : 	while (x)

	test	edi, edi
	je	$L79910
	npad	9
$L79909:

; 1630 : 	{
; 1631 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85339[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L79916
	test	esi, esi
	je	$L79916
	mov	ecx, DWORD PTR $T85339[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1632 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79911[ebp], esi
	je	SHORT $L79916

; 1633 : 		{
; 1634 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85344
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L85342
$L85344:
	xor	ecx, ecx
$L85342:

; 1635 : 			if (!stricmp(d->Get_Name(),Preset_Name))

	mov	eax, DWORD PTR _Preset_Name$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L79916

; 1636 : 			{
; 1637 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85359
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85359
	mov	ecx, DWORD PTR _o$79911[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85359
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85357
$L85359:
	xor	eax, eax
$L85357:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L79917
	cmp	ecx, 2
	je	SHORT $L79917
$L79916:

; 1638 : 				{
; 1639 : 					return o;
; 1640 : 				}
; 1641 : 			}
; 1642 : 		}
; 1643 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79909
$L79910:

; 1644 : 	}
; 1645 : 	return 0;

	xor	eax, eax

; 1646 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L79917:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Building_By_Name@@YAPAEHPBD@Z ENDP		; Find_Building_By_Name
_TEXT	ENDS
PUBLIC	??_C@_09IGNDJJLI@Explosive?$AA@			; `string'
PUBLIC	?Kill_All_Buildings_By_Team@@YAXH@Z		; Kill_All_Buildings_By_Team
EXTRN	__fltused:NEAR
;	COMDAT ??_C@_09IGNDJJLI@Explosive?$AA@
CONST	SEGMENT
??_C@_09IGNDJJLI@Explosive?$AA@ DB 'Explosive', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Kill_All_Buildings_By_Team@@YAXH@Z
_TEXT	SEGMENT
$T85376 = -4						; size = 4
_o$79925 = -4						; size = 4
_Team$ = 8						; size = 4
?Kill_All_Buildings_By_Team@@YAXH@Z PROC NEAR		; Kill_All_Buildings_By_Team, COMDAT

; 1649 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1650 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1651 : 	while (x)

	test	edi, edi
	je	$L79924
	npad	9
$L79923:

; 1652 : 	{
; 1653 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85376[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79928
	test	esi, esi
	je	SHORT $L79928
	mov	ecx, DWORD PTR $T85376[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1654 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79925[ebp], esi
	je	SHORT $L79928

; 1655 : 		{
; 1656 : 			if (Get_Object_Type(o) == Team)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85390
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85390
	mov	ecx, DWORD PTR _o$79925[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85390
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85388
$L85390:
	xor	eax, eax
$L85388:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L79928

; 1657 : 			{
; 1658 : 				Commands->Apply_Damage(o,10000,"Explosive",0);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_09IGNDJJLI@Explosive?$AA@
	push	1176256512				; 461c4000H
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L79928:

; 1659 : 			}
; 1660 : 		}
; 1661 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79923
$L79924:

; 1662 : 	}
; 1663 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Kill_All_Buildings_By_Team@@YAXH@Z ENDP		; Kill_All_Buildings_By_Team
_TEXT	ENDS
PUBLIC	?Damage_All_Buildings_By_Team@@YAXHMPBDPAE@Z	; Damage_All_Buildings_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Damage_All_Buildings_By_Team@@YAXHMPBDPAE@Z
_TEXT	SEGMENT
$T85408 = -4						; size = 4
_o$79940 = -4						; size = 4
_Team$ = 8						; size = 4
_Damage$ = 12						; size = 4
_Warhead$ = 16						; size = 4
_Damager$ = 20						; size = 4
?Damage_All_Buildings_By_Team@@YAXHMPBDPAE@Z PROC NEAR	; Damage_All_Buildings_By_Team, COMDAT

; 1666 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1667 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1668 : 	while (x)

	test	edi, edi
	je	$L79939
	npad	9
$L79938:

; 1669 : 	{
; 1670 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85408[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79943
	test	esi, esi
	je	SHORT $L79943
	mov	ecx, DWORD PTR $T85408[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1671 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79940[ebp], esi
	je	SHORT $L79943

; 1672 : 		{
; 1673 : 			if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85422
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85422
	mov	ecx, DWORD PTR _o$79940[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85422
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85420
$L85422:
	xor	eax, eax
$L85420:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L79944
	cmp	ecx, 2
	jne	SHORT $L79943
$L79944:

; 1674 : 			{
; 1675 : 				Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	ecx, DWORD PTR _Damager$[ebp]
	mov	edx, DWORD PTR _Warhead$[ebp]
	mov	eax, DWORD PTR _Damage$[ebp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	eax
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L79943:

; 1676 : 			}
; 1677 : 		}
; 1678 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79938
$L79939:

; 1679 : 	}
; 1680 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Damage_All_Buildings_By_Team@@YAXHMPBDPAE@Z ENDP	; Damage_All_Buildings_By_Team
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	?Repair_All_Buildings_By_Team@@YAXHHM@Z		; Repair_All_Buildings_By_Team
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Repair_All_Buildings_By_Team@@YAXHHM@Z
_TEXT	SEGMENT
$T85439 = -4						; size = 4
_o$79954 = -4						; size = 4
_Team$ = 8						; size = 4
_ConstructionYardID$ = 12				; size = 4
_Health$ = 16						; size = 4
?Repair_All_Buildings_By_Team@@YAXHHM@Z PROC NEAR	; Repair_All_Buildings_By_Team, COMDAT

; 1683 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1684 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 1685 : 	while (x)

	test	edi, edi
	je	$L79953
	npad	9
$L79952:

; 1686 : 	{
; 1687 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85439[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L79959
	test	esi, esi
	je	$L79959
	mov	ecx, DWORD PTR $T85439[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 1688 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79954[ebp], esi
	je	$L79959

; 1689 : 		{
; 1690 : 			if ((Get_Object_Type(o) == Team) && (Commands->Get_ID(o) != ConstructionYardID))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85453
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85453
	mov	ecx, DWORD PTR _o$79954[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85453
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85451
$L85453:
	xor	eax, eax
$L85451:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L79959
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	mov	ecx, DWORD PTR _ConstructionYardID$[ebp]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L79959

; 1691 : 			{
; 1692 : 				float amount = Commands->Get_Health(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]

; 1693 : 				if (amount>0)

	fcom	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L85463

; 1694 : 				{
; 1695 : 					Commands->Set_Health(o,(amount+Health));

	fadd	DWORD PTR _Health$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [eax+228]
	add	esp, 8
	jmp	SHORT $L79959
$L85463:
	fstp	ST(0)
$L79959:

; 1696 : 				}
; 1697 : 			}
; 1698 : 		}
; 1699 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79952
$L79953:

; 1700 : 	}
; 1701 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Repair_All_Buildings_By_Team@@YAXHHM@Z ENDP		; Repair_All_Buildings_By_Team
_TEXT	ENDS
PUBLIC	?Find_Smart_Object_By_Team@@YAPAEH@Z		; Find_Smart_Object_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Smart_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT
$T85473 = -4						; size = 4
_o$79979 = -4						; size = 4
_Team$ = 8						; size = 4
?Find_Smart_Object_By_Team@@YAPAEH@Z PROC NEAR		; Find_Smart_Object_By_Team, COMDAT

; 1721 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1722 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 1723 : 	while (x)

	test	edi, edi
	je	SHORT $L79978
$L79977:

; 1724 : 	{
; 1725 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85473[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79982
	test	esi, esi
	je	SHORT $L79982
	mov	ecx, DWORD PTR $T85473[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 1726 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79979[ebp], esi
	je	SHORT $L79982

; 1727 : 		{
; 1728 : 			if (Get_Object_Type(o) == Team)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85487
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85487
	mov	ecx, DWORD PTR _o$79979[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85487
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85485
$L85487:
	xor	eax, eax
$L85485:
	cmp	eax, DWORD PTR _Team$[ebp]
	je	SHORT $L85493
$L79982:

; 1729 : 			{
; 1730 : 				return o;
; 1731 : 			}
; 1732 : 		}
; 1733 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L79977
$L79978:

; 1734 : 	}
; 1735 : 	return 0;

	xor	eax, eax

; 1736 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L85493:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Smart_Object_By_Team@@YAPAEH@Z ENDP		; Find_Smart_Object_By_Team
_TEXT	ENDS
PUBLIC	?Find_Object_By_Team@@YAPAEH@Z			; Find_Object_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT
_o$79990 = -4						; size = 4
_Team$ = 8						; size = 4
?Find_Object_By_Team@@YAPAEH@Z PROC NEAR		; Find_Object_By_Team, COMDAT

; 1739 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 1741 : 	while (x)

	test	edi, edi
	je	SHORT $L79989
$L79988:

; 1742 : 	{
; 1743 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 1744 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$79990[ebp], esi
	je	SHORT $L79993
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79993
	mov	ecx, DWORD PTR _o$79990[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L79993

; 1745 : 		{
; 1746 : 			if (Get_Object_Type(o) == Team)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85519
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85519
	mov	ecx, DWORD PTR _o$79990[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85519
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85517
$L85519:
	xor	eax, eax
$L85517:
	cmp	eax, DWORD PTR _Team$[ebp]
	je	SHORT $L85525
$L79993:

; 1747 : 			{
; 1748 : 				return o;
; 1749 : 			}
; 1750 : 		}
; 1751 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L79988
$L79989:

; 1752 : 	}
; 1753 : 	return 0;

	xor	eax, eax

; 1754 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L85525:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Object_By_Team@@YAPAEH@Z ENDP			; Find_Object_By_Team
_TEXT	ENDS
PUBLIC	?Find_Non_Player_Object_By_Team@@YAPAEH@Z	; Find_Non_Player_Object_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Non_Player_Object_By_Team@@YAPAEH@Z
_TEXT	SEGMENT
$T85537 = -4						; size = 4
_o$80001 = -4						; size = 4
_Team$ = 8						; size = 4
?Find_Non_Player_Object_By_Team@@YAPAEH@Z PROC NEAR	; Find_Non_Player_Object_By_Team, COMDAT

; 1757 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1758 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 1759 : 	while (x)

	test	edi, edi
	je	$L80000
	npad	9
$L79999:

; 1760 : 	{
; 1761 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T85537[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80004
	test	esi, esi
	je	SHORT $L80004
	mov	ecx, DWORD PTR $T85537[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 1762 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$80001[ebp], esi
	je	SHORT $L80004

; 1763 : 		{
; 1764 : 			if ((Get_Object_Type(o) == Team) && (!Commands->Is_A_Star(o)))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85551
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85551
	mov	ecx, DWORD PTR _o$80001[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85551
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85549
$L85551:
	xor	eax, eax
$L85549:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L80004
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+280]
	add	esp, 4
	test	al, al
	je	SHORT $L85557
$L80004:

; 1765 : 			{
; 1766 : 				return o;
; 1767 : 			}
; 1768 : 		}
; 1769 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79999
$L80000:

; 1770 : 	}
; 1771 : 	return 0;

	xor	eax, eax

; 1772 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L85557:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Non_Player_Object_By_Team@@YAPAEH@Z ENDP		; Find_Non_Player_Object_By_Team
_TEXT	ENDS
PUBLIC	?Find_Object_By_Preset@@YAPAEHPBD@Z		; Find_Object_By_Preset
; Function compile flags: /Ogty
;	COMDAT ?Find_Object_By_Preset@@YAPAEHPBD@Z
_TEXT	SEGMENT
_o$80013 = -4						; size = 4
_Team$ = 8						; size = 4
_Preset_Name$ = 12					; size = 4
?Find_Object_By_Preset@@YAPAEHPBD@Z PROC NEAR		; Find_Object_By_Preset, COMDAT

; 1775 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 1777 : 	while (x)

	test	edi, edi
	je	$L80012
$L80011:

; 1778 : 	{
; 1779 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 1780 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$80013[ebp], esi
	je	$L80018
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80018
	mov	ecx, DWORD PTR _o$80013[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L80018

; 1781 : 		{
; 1782 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85574
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L85572
$L85574:
	xor	ecx, ecx
$L85572:

; 1783 : 			if (!stricmp(d->Get_Name(),Preset_Name))

	mov	eax, DWORD PTR _Preset_Name$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L80018

; 1784 : 			{
; 1785 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85589
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85589
	mov	ecx, DWORD PTR _o$80013[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85589
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85587
$L85589:
	xor	eax, eax
$L85587:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80019
	cmp	ecx, 2
	je	SHORT $L80019
$L80018:

; 1786 : 				{
; 1787 : 					return o;
; 1788 : 				}
; 1789 : 			}
; 1790 : 		}
; 1791 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80011
$L80012:

; 1792 : 	}
; 1793 : 	return 0;

	xor	eax, eax

; 1794 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80019:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Object_By_Preset@@YAPAEHPBD@Z ENDP		; Find_Object_By_Preset
_TEXT	ENDS
PUBLIC	?Find_Power_Plant@@YAPAEH@Z			; Find_Power_Plant
; Function compile flags: /Ogty
;	COMDAT ?Find_Power_Plant@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Power_Plant@@YAPAEH@Z PROC NEAR			; Find_Power_Plant, COMDAT

; 1798 : 	return Find_Building_By_Class_ID(Team,0xD003);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53251					; 0000d003H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1799 : }

	ret	0
?Find_Power_Plant@@YAPAEH@Z ENDP			; Find_Power_Plant
_TEXT	ENDS
PUBLIC	?Find_Refinery@@YAPAEH@Z			; Find_Refinery
; Function compile flags: /Ogty
;	COMDAT ?Find_Refinery@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Refinery@@YAPAEH@Z PROC NEAR			; Find_Refinery, COMDAT

; 1803 : 	return Find_Building_By_Class_ID(Team,0xD002);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53250					; 0000d002H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1804 : }

	ret	0
?Find_Refinery@@YAPAEH@Z ENDP				; Find_Refinery
_TEXT	ENDS
PUBLIC	?Find_Repair_Bay@@YAPAEH@Z			; Find_Repair_Bay
; Function compile flags: /Ogty
;	COMDAT ?Find_Repair_Bay@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Repair_Bay@@YAPAEH@Z PROC NEAR			; Find_Repair_Bay, COMDAT

; 1808 : 	return Find_Building_By_Class_ID(Team,0xD009);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53257					; 0000d009H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1809 : }

	ret	0
?Find_Repair_Bay@@YAPAEH@Z ENDP				; Find_Repair_Bay
_TEXT	ENDS
PUBLIC	?Find_Soldier_Factory@@YAPAEH@Z			; Find_Soldier_Factory
; Function compile flags: /Ogty
;	COMDAT ?Find_Soldier_Factory@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Soldier_Factory@@YAPAEH@Z PROC NEAR		; Find_Soldier_Factory, COMDAT

; 1813 : 	return Find_Building_By_Class_ID(Team,0xD004);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53252					; 0000d004H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1814 : }

	ret	0
?Find_Soldier_Factory@@YAPAEH@Z ENDP			; Find_Soldier_Factory
_TEXT	ENDS
PUBLIC	?Find_Airstrip@@YAPAEH@Z			; Find_Airstrip
; Function compile flags: /Ogty
;	COMDAT ?Find_Airstrip@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Airstrip@@YAPAEH@Z PROC NEAR			; Find_Airstrip, COMDAT

; 1818 : 	return Find_Building_By_Class_ID(Team,0xD006);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53254					; 0000d006H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1819 : }

	ret	0
?Find_Airstrip@@YAPAEH@Z ENDP				; Find_Airstrip
_TEXT	ENDS
PUBLIC	?Find_War_Factory@@YAPAEH@Z			; Find_War_Factory
; Function compile flags: /Ogty
;	COMDAT ?Find_War_Factory@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_War_Factory@@YAPAEH@Z PROC NEAR			; Find_War_Factory, COMDAT

; 1823 : 	return Find_Building_By_Class_ID(Team,0xD007);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53255					; 0000d007H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1824 : }

	ret	0
?Find_War_Factory@@YAPAEH@Z ENDP			; Find_War_Factory
_TEXT	ENDS
PUBLIC	?Find_Vehicle_Factory@@YAPAEH@Z			; Find_Vehicle_Factory
; Function compile flags: /Ogty
;	COMDAT ?Find_Vehicle_Factory@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Vehicle_Factory@@YAPAEH@Z PROC NEAR		; Find_Vehicle_Factory, COMDAT

; 1827 : {

	push	esi

; 1828 : 	GameObject *o = Find_Airstrip(Team);

	mov	esi, DWORD PTR _Team$[esp]
	push	53254					; 0000d006H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1829 : 	if (o)

	test	eax, eax

; 1830 : 	{
; 1831 : 		return o;

	jne	SHORT $L80040

; 1832 : 	}
; 1833 : 	return Find_War_Factory(Team);

	push	53255					; 0000d007H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
$L80040:
	pop	esi

; 1834 : }

	ret	0
?Find_Vehicle_Factory@@YAPAEH@Z ENDP			; Find_Vehicle_Factory
_TEXT	ENDS
PUBLIC	?Find_Com_Center@@YAPAEH@Z			; Find_Com_Center
; Function compile flags: /Ogty
;	COMDAT ?Find_Com_Center@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Com_Center@@YAPAEH@Z PROC NEAR			; Find_Com_Center, COMDAT

; 1838 : 	return Find_Building_By_Class_ID(Team,0xD008);

	mov	eax, DWORD PTR _Team$[esp-4]
	push	53256					; 0000d008H
	push	eax
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8

; 1839 : }

	ret	0
?Find_Com_Center@@YAPAEH@Z ENDP				; Find_Com_Center
_TEXT	ENDS
PUBLIC	?Is_Building@@YA_NPAE@Z				; Is_Building
; Function compile flags: /Ogty
;	COMDAT ?Is_Building@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Building@@YA_NPAE@Z PROC NEAR			; Is_Building, COMDAT

; 1842 : {

	push	ebp
	mov	ebp, esp

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

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

; 1844 : 	{
; 1845 : 		return false;
; 1846 : 	}
; 1847 : 	if (As_BuildingGameObj(obj))

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

; 1848 : 	{
; 1849 : 		return true;

	mov	al, 1

; 1850 : 	}
; 1851 : 	return false;
; 1852 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80050:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Building@@YA_NPAE@Z ENDP				; Is_Building
_TEXT	ENDS
PUBLIC	?Is_Soldier@@YA_NPAE@Z				; Is_Soldier
; Function compile flags: /Ogty
;	COMDAT ?Is_Soldier@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Soldier@@YA_NPAE@Z PROC NEAR			; Is_Soldier, COMDAT

; 1855 : {

	push	ebp
	mov	ebp, esp

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

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

; 1857 : 	{
; 1858 : 		return false;
; 1859 : 	}
; 1860 : 	if (As_SoldierGameObj(obj))

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

; 1861 : 	{
; 1862 : 		return true;

	mov	al, 1

; 1863 : 	}
; 1864 : 	return false;
; 1865 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80056:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Soldier@@YA_NPAE@Z ENDP				; Is_Soldier
_TEXT	ENDS
PUBLIC	?Is_Vehicle@@YA_NPAE@Z				; Is_Vehicle
; Function compile flags: /Ogty
;	COMDAT ?Is_Vehicle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Vehicle@@YA_NPAE@Z PROC NEAR			; Is_Vehicle, COMDAT

; 1868 : {

	push	ebp
	mov	ebp, esp

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

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

; 1870 : 	{
; 1871 : 		return false;
; 1872 : 	}
; 1873 : 	if (As_VehicleGameObj(obj))

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

; 1874 : 	{
; 1875 : 		return true;

	mov	al, 1

; 1876 : 	}
; 1877 : 	return false;
; 1878 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80062:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Vehicle@@YA_NPAE@Z ENDP				; Is_Vehicle
_TEXT	ENDS
PUBLIC	?Is_Cinematic@@YA_NPAE@Z			; Is_Cinematic
; Function compile flags: /Ogty
;	COMDAT ?Is_Cinematic@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Cinematic@@YA_NPAE@Z PROC NEAR			; Is_Cinematic, COMDAT

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

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

; 1885 : 	}
; 1886 : 	if (As_CinematicGameObj(obj))

	push	esi
	call	?As_CinematicGameObj@@YAPAEPAE@Z	; As_CinematicGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 1887 : 	{
; 1888 : 		return true;
; 1889 : 	}
; 1890 : 	return false;
; 1891 : }

	ret	0
$L80068:

; 1883 : 	{
; 1884 : 		return false;

	xor	al, al
	pop	esi

; 1887 : 	{
; 1888 : 		return true;
; 1889 : 	}
; 1890 : 	return false;
; 1891 : }

	ret	0
?Is_Cinematic@@YA_NPAE@Z ENDP				; Is_Cinematic
_TEXT	ENDS
PUBLIC	?Is_ScriptZone@@YA_NPAE@Z			; Is_ScriptZone
; Function compile flags: /Ogty
;	COMDAT ?Is_ScriptZone@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_ScriptZone@@YA_NPAE@Z PROC NEAR			; Is_ScriptZone, COMDAT

; 1894 : {

	push	ebp
	mov	ebp, esp

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

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

; 1896 : 	{
; 1897 : 		return false;
; 1898 : 	}
; 1899 : 	if (As_ScriptZoneGameObj(obj))

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

; 1900 : 	{
; 1901 : 		return true;

	mov	al, 1

; 1902 : 	}
; 1903 : 	return false;
; 1904 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80074:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_ScriptZone@@YA_NPAE@Z ENDP				; Is_ScriptZone
_TEXT	ENDS
PUBLIC	?Is_TrackedVehicle@@YA_NPAE@Z			; Is_TrackedVehicle
; Function compile flags: /Ogty
;	COMDAT ?Is_TrackedVehicle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_TrackedVehicle@@YA_NPAE@Z PROC NEAR			; Is_TrackedVehicle, COMDAT

; 1907 : {

	push	ebp
	mov	ebp, esp

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

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

; 1909 : 	{
; 1910 : 		return false;
; 1911 : 	}
; 1912 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1913 : 	if (!o)

	test	eax, eax

; 1914 : 	{
; 1915 : 		return false;

	je	SHORT $L80080

; 1916 : 	}
; 1917 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 1918 : 	if (Class_ID != 0x900C)

	cmp	eax, 36876				; 0000900cH
	sete	al

; 1919 : 	{
; 1920 : 		return false;
; 1921 : 	}
; 1922 : 	return true;
; 1923 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80080:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_TrackedVehicle@@YA_NPAE@Z ENDP			; Is_TrackedVehicle
_TEXT	ENDS
PUBLIC	?Is_VTOLVehicle@@YA_NPAE@Z			; Is_VTOLVehicle
; Function compile flags: /Ogty
;	COMDAT ?Is_VTOLVehicle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_VTOLVehicle@@YA_NPAE@Z PROC NEAR			; Is_VTOLVehicle, COMDAT

; 1926 : {

	push	ebp
	mov	ebp, esp

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

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

; 1928 : 	{
; 1929 : 		return false;
; 1930 : 	}
; 1931 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1932 : 	if (!o)

	test	eax, eax

; 1933 : 	{
; 1934 : 		return false;

	je	SHORT $L80089

; 1935 : 	}
; 1936 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 1937 : 	if (Class_ID != 0x900D)

	cmp	eax, 36877				; 0000900dH
	sete	al

; 1938 : 	{
; 1939 : 		return false;
; 1940 : 	}
; 1941 : 	return true;
; 1942 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80089:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_VTOLVehicle@@YA_NPAE@Z ENDP				; Is_VTOLVehicle
_TEXT	ENDS
PUBLIC	?Is_WheeledVehicle@@YA_NPAE@Z			; Is_WheeledVehicle
; Function compile flags: /Ogty
;	COMDAT ?Is_WheeledVehicle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_WheeledVehicle@@YA_NPAE@Z PROC NEAR			; Is_WheeledVehicle, COMDAT

; 1945 : {

	push	ebp
	mov	ebp, esp

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

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

; 1947 : 	{
; 1948 : 		return false;
; 1949 : 	}
; 1950 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1951 : 	if (!o)

	test	eax, eax

; 1952 : 	{
; 1953 : 		return false;

	je	SHORT $L80098

; 1954 : 	}
; 1955 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 1956 : 	if (Class_ID != 0x9006)

	cmp	eax, 36870				; 00009006H
	sete	al

; 1957 : 	{
; 1958 : 		return false;
; 1959 : 	}
; 1960 : 	return true;
; 1961 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80098:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_WheeledVehicle@@YA_NPAE@Z ENDP			; Is_WheeledVehicle
_TEXT	ENDS
PUBLIC	?Is_Motorcycle@@YA_NPAE@Z			; Is_Motorcycle
; Function compile flags: /Ogty
;	COMDAT ?Is_Motorcycle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Motorcycle@@YA_NPAE@Z PROC NEAR			; Is_Motorcycle, COMDAT

; 1964 : {

	push	ebp
	mov	ebp, esp

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

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

; 1966 : 	{
; 1967 : 		return false;
; 1968 : 	}
; 1969 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1970 : 	if (!o)

	test	eax, eax

; 1971 : 	{
; 1972 : 		return false;

	je	SHORT $L80107

; 1973 : 	}
; 1974 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 1975 : 	if (Class_ID != 0x9002)

	cmp	eax, 36866				; 00009002H
	sete	al

; 1976 : 	{
; 1977 : 		return false;
; 1978 : 	}
; 1979 : 	return true;
; 1980 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80107:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Motorcycle@@YA_NPAE@Z ENDP				; Is_Motorcycle
_TEXT	ENDS
PUBLIC	?Is_Door@@YA_NPAE@Z				; Is_Door
; Function compile flags: /Ogty
;	COMDAT ?Is_Door@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Door@@YA_NPAE@Z PROC NEAR				; Is_Door, COMDAT

; 1983 : {

	push	ebp
	mov	ebp, esp

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

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

; 1985 : 	{
; 1986 : 		return false;
; 1987 : 	}
; 1988 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 1989 : 	if (!o)

	test	eax, eax

; 1990 : 	{
; 1991 : 		return false;

	je	SHORT $L80116

; 1992 : 	}
; 1993 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 1994 : 	if (Class_ID != 0x9080)

	cmp	eax, 36992				; 00009080H
	sete	al

; 1995 : 	{
; 1996 : 		return false;
; 1997 : 	}
; 1998 : 	return true;
; 1999 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80116:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Door@@YA_NPAE@Z ENDP				; Is_Door
_TEXT	ENDS
PUBLIC	?Is_Elevator@@YA_NPAE@Z				; Is_Elevator
; Function compile flags: /Ogty
;	COMDAT ?Is_Elevator@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Elevator@@YA_NPAE@Z PROC NEAR			; Is_Elevator, COMDAT

; 2002 : {

	push	ebp
	mov	ebp, esp

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

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

; 2004 : 	{
; 2005 : 		return false;
; 2006 : 	}
; 2007 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2008 : 	if (!o)

	test	eax, eax

; 2009 : 	{
; 2010 : 		return false;

	je	SHORT $L80125

; 2011 : 	}
; 2012 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2013 : 	if (Class_ID != 0x9081)

	cmp	eax, 36993				; 00009081H
	sete	al

; 2014 : 	{
; 2015 : 		return false;
; 2016 : 	}
; 2017 : 	return true;
; 2018 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80125:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Elevator@@YA_NPAE@Z ENDP				; Is_Elevator
_TEXT	ENDS
PUBLIC	?Is_DamageableStaticPhys@@YA_NPAE@Z		; Is_DamageableStaticPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_DamageableStaticPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_DamageableStaticPhys@@YA_NPAE@Z PROC NEAR		; Is_DamageableStaticPhys, COMDAT

; 2021 : {

	push	ebp
	mov	ebp, esp

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

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

; 2023 : 	{
; 2024 : 		return false;
; 2025 : 	}
; 2026 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2027 : 	if (!o)

	test	eax, eax

; 2028 : 	{
; 2029 : 		return false;

	je	SHORT $L80134

; 2030 : 	}
; 2031 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2032 : 	if (Class_ID != 0x9082)

	cmp	eax, 36994				; 00009082H
	sete	al

; 2033 : 	{
; 2034 : 		return false;
; 2035 : 	}
; 2036 : 	return true;
; 2037 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80134:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_DamageableStaticPhys@@YA_NPAE@Z ENDP		; Is_DamageableStaticPhys
_TEXT	ENDS
PUBLIC	?Is_AccessablePhys@@YA_NPAE@Z			; Is_AccessablePhys
; Function compile flags: /Ogty
;	COMDAT ?Is_AccessablePhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_AccessablePhys@@YA_NPAE@Z PROC NEAR			; Is_AccessablePhys, COMDAT

; 2040 : {

	push	ebp
	mov	ebp, esp

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

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

; 2042 : 	{
; 2043 : 		return false;
; 2044 : 	}
; 2045 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2046 : 	if (!o)

	test	eax, eax

; 2047 : 	{
; 2048 : 		return false;

	je	SHORT $L80143

; 2049 : 	}
; 2050 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2051 : 	if (Class_ID != 0x9010)

	cmp	eax, 36880				; 00009010H
	sete	al

; 2052 : 	{
; 2053 : 		return false;
; 2054 : 	}
; 2055 : 	return true;
; 2056 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80143:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_AccessablePhys@@YA_NPAE@Z ENDP			; Is_AccessablePhys
_TEXT	ENDS
PUBLIC	?Is_DecorationPhys@@YA_NPAE@Z			; Is_DecorationPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_DecorationPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_DecorationPhys@@YA_NPAE@Z PROC NEAR			; Is_DecorationPhys, COMDAT

; 2059 : {

	push	ebp
	mov	ebp, esp

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

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

; 2061 : 	{
; 2062 : 		return false;
; 2063 : 	}
; 2064 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2065 : 	if (!o)

	test	eax, eax

; 2066 : 	{
; 2067 : 		return false;

	je	SHORT $L80152

; 2068 : 	}
; 2069 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2070 : 	if (Class_ID != 0x9000)

	cmp	eax, 36864				; 00009000H
	sete	al

; 2071 : 	{
; 2072 : 		return false;
; 2073 : 	}
; 2074 : 	return true;
; 2075 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80152:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_DecorationPhys@@YA_NPAE@Z ENDP			; Is_DecorationPhys
_TEXT	ENDS
PUBLIC	?Is_HumanPhys@@YA_NPAE@Z			; Is_HumanPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_HumanPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_HumanPhys@@YA_NPAE@Z PROC NEAR			; Is_HumanPhys, COMDAT

; 2078 : {

	push	ebp
	mov	ebp, esp

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

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

; 2080 : 	{
; 2081 : 		return false;
; 2082 : 	}
; 2083 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2084 : 	if (!o)

	test	eax, eax

; 2085 : 	{
; 2086 : 		return false;

	je	SHORT $L80161

; 2087 : 	}
; 2088 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2089 : 	if (Class_ID != 0x9001)

	cmp	eax, 36865				; 00009001H
	sete	al

; 2090 : 	{
; 2091 : 		return false;
; 2092 : 	}
; 2093 : 	return true;
; 2094 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80161:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_HumanPhys@@YA_NPAE@Z ENDP				; Is_HumanPhys
_TEXT	ENDS
PUBLIC	?Is_MotorVehicle@@YA_NPAE@Z			; Is_MotorVehicle
; Function compile flags: /Ogty
;	COMDAT ?Is_MotorVehicle@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_MotorVehicle@@YA_NPAE@Z PROC NEAR			; Is_MotorVehicle, COMDAT

; 2097 : {

	push	ebp
	mov	ebp, esp

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

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

; 2099 : 	{
; 2100 : 		return false;
; 2101 : 	}
; 2102 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2103 : 	if (!o)

	test	eax, eax

; 2104 : 	{
; 2105 : 		return false;

	je	SHORT $L80170

; 2106 : 	}
; 2107 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2108 : 	if (Class_ID != 0x9003)

	cmp	eax, 36867				; 00009003H
	sete	al

; 2109 : 	{
; 2110 : 		return false;
; 2111 : 	}
; 2112 : 	return true;
; 2113 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80170:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_MotorVehicle@@YA_NPAE@Z ENDP			; Is_MotorVehicle
_TEXT	ENDS
PUBLIC	?Is_Phys3@@YA_NPAE@Z				; Is_Phys3
; Function compile flags: /Ogty
;	COMDAT ?Is_Phys3@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Phys3@@YA_NPAE@Z PROC NEAR				; Is_Phys3, COMDAT

; 2116 : {

	push	ebp
	mov	ebp, esp

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

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

; 2118 : 	{
; 2119 : 		return false;
; 2120 : 	}
; 2121 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2122 : 	if (!o)

	test	eax, eax

; 2123 : 	{
; 2124 : 		return false;

	je	SHORT $L80179

; 2125 : 	}
; 2126 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2127 : 	if (Class_ID != 0x9004)

	cmp	eax, 36868				; 00009004H
	sete	al

; 2128 : 	{
; 2129 : 		return false;
; 2130 : 	}
; 2131 : 	return true;
; 2132 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80179:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Phys3@@YA_NPAE@Z ENDP				; Is_Phys3
_TEXT	ENDS
PUBLIC	?Is_RigidBody@@YA_NPAE@Z			; Is_RigidBody
; Function compile flags: /Ogty
;	COMDAT ?Is_RigidBody@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_RigidBody@@YA_NPAE@Z PROC NEAR			; Is_RigidBody, COMDAT

; 2135 : {

	push	ebp
	mov	ebp, esp

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

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

; 2137 : 	{
; 2138 : 		return false;
; 2139 : 	}
; 2140 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2141 : 	if (!o)

	test	eax, eax

; 2142 : 	{
; 2143 : 		return false;

	je	SHORT $L80188

; 2144 : 	}
; 2145 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2146 : 	if (Class_ID != 0x9005)

	cmp	eax, 36869				; 00009005H
	sete	al

; 2147 : 	{
; 2148 : 		return false;
; 2149 : 	}
; 2150 : 	return true;
; 2151 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80188:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_RigidBody@@YA_NPAE@Z ENDP				; Is_RigidBody
_TEXT	ENDS
PUBLIC	?Is_ShakeableStatricPhys@@YA_NPAE@Z		; Is_ShakeableStatricPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_ShakeableStatricPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_ShakeableStatricPhys@@YA_NPAE@Z PROC NEAR		; Is_ShakeableStatricPhys, COMDAT

; 2154 : {

	push	ebp
	mov	ebp, esp

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

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

; 2156 : 	{
; 2157 : 		return false;
; 2158 : 	}
; 2159 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2160 : 	if (!o)

	test	eax, eax

; 2161 : 	{
; 2162 : 		return false;

	je	SHORT $L80197

; 2163 : 	}
; 2164 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2165 : 	if (Class_ID != 0x900F)

	cmp	eax, 36879				; 0000900fH
	sete	al

; 2166 : 	{
; 2167 : 		return false;
; 2168 : 	}
; 2169 : 	return true;
; 2170 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80197:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_ShakeableStatricPhys@@YA_NPAE@Z ENDP		; Is_ShakeableStatricPhys
_TEXT	ENDS
PUBLIC	?Is_StaticAnimPhys@@YA_NPAE@Z			; Is_StaticAnimPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_StaticAnimPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_StaticAnimPhys@@YA_NPAE@Z PROC NEAR			; Is_StaticAnimPhys, COMDAT

; 2173 : {

	push	ebp
	mov	ebp, esp

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

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

; 2175 : 	{
; 2176 : 		return false;
; 2177 : 	}
; 2178 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2179 : 	if (!o)

	test	eax, eax

; 2180 : 	{
; 2181 : 		return false;

	je	SHORT $L80206

; 2182 : 	}
; 2183 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2184 : 	if (Class_ID != 0x9008)

	cmp	eax, 36872				; 00009008H
	sete	al

; 2185 : 	{
; 2186 : 		return false;
; 2187 : 	}
; 2188 : 	return true;
; 2189 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80206:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_StaticAnimPhys@@YA_NPAE@Z ENDP			; Is_StaticAnimPhys
_TEXT	ENDS
PUBLIC	?Is_StaticPhys@@YA_NPAE@Z			; Is_StaticPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_StaticPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_StaticPhys@@YA_NPAE@Z PROC NEAR			; Is_StaticPhys, COMDAT

; 2192 : {

	push	ebp
	mov	ebp, esp

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

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

; 2194 : 	{
; 2195 : 		return false;
; 2196 : 	}
; 2197 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2198 : 	if (!o)

	test	eax, eax

; 2199 : 	{
; 2200 : 		return false;

	je	SHORT $L80215

; 2201 : 	}
; 2202 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2203 : 	if (Class_ID != 0x9007)

	cmp	eax, 36871				; 00009007H
	sete	al

; 2204 : 	{
; 2205 : 		return false;
; 2206 : 	}
; 2207 : 	return true;
; 2208 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80215:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_StaticPhys@@YA_NPAE@Z ENDP				; Is_StaticPhys
_TEXT	ENDS
PUBLIC	?Is_TimedDecorationPhys@@YA_NPAE@Z		; Is_TimedDecorationPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_TimedDecorationPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_TimedDecorationPhys@@YA_NPAE@Z PROC NEAR		; Is_TimedDecorationPhys, COMDAT

; 2211 : {

	push	ebp
	mov	ebp, esp

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

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

; 2213 : 	{
; 2214 : 		return false;
; 2215 : 	}
; 2216 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2217 : 	if (!o)

	test	eax, eax

; 2218 : 	{
; 2219 : 		return false;

	je	SHORT $L80224

; 2220 : 	}
; 2221 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2222 : 	if (Class_ID != 0x900A)

	cmp	eax, 36874				; 0000900aH
	sete	al

; 2223 : 	{
; 2224 : 		return false;
; 2225 : 	}
; 2226 : 	return true;
; 2227 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80224:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_TimedDecorationPhys@@YA_NPAE@Z ENDP			; Is_TimedDecorationPhys
_TEXT	ENDS
PUBLIC	?Is_VehiclePhys@@YA_NPAE@Z			; Is_VehiclePhys
; Function compile flags: /Ogty
;	COMDAT ?Is_VehiclePhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_VehiclePhys@@YA_NPAE@Z PROC NEAR			; Is_VehiclePhys, COMDAT

; 2230 : {

	push	ebp
	mov	ebp, esp

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

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

; 2232 : 	{
; 2233 : 		return false;
; 2234 : 	}
; 2235 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2236 : 	if (!o)

	test	eax, eax

; 2237 : 	{
; 2238 : 		return false;

	je	SHORT $L80233

; 2239 : 	}
; 2240 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2241 : 	if (Class_ID != 0x900B)

	cmp	eax, 36875				; 0000900bH
	sete	al

; 2242 : 	{
; 2243 : 		return false;
; 2244 : 	}
; 2245 : 	return true;
; 2246 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80233:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_VehiclePhys@@YA_NPAE@Z ENDP				; Is_VehiclePhys
_TEXT	ENDS
PUBLIC	?Is_DynamicAnimPhys@@YA_NPAE@Z			; Is_DynamicAnimPhys
; Function compile flags: /Ogty
;	COMDAT ?Is_DynamicAnimPhys@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_DynamicAnimPhys@@YA_NPAE@Z PROC NEAR		; Is_DynamicAnimPhys, COMDAT

; 2249 : {

	push	ebp
	mov	ebp, esp

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

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

; 2251 : 	{
; 2252 : 		return false;
; 2253 : 	}
; 2254 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2255 : 	if (!o)

	test	eax, eax

; 2256 : 	{
; 2257 : 		return false;

	je	SHORT $L80242

; 2258 : 	}
; 2259 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2260 : 	if (Class_ID != 0x900E)

	cmp	eax, 36878				; 0000900eH
	sete	al

; 2261 : 	{
; 2262 : 		return false;
; 2263 : 	}
; 2264 : 	return true;
; 2265 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80242:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_DynamicAnimPhys@@YA_NPAE@Z ENDP			; Is_DynamicAnimPhys
_TEXT	ENDS
PUBLIC	?Is_BuildingAggregate@@YA_NPAE@Z		; Is_BuildingAggregate
; Function compile flags: /Ogty
;	COMDAT ?Is_BuildingAggregate@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_BuildingAggregate@@YA_NPAE@Z PROC NEAR		; Is_BuildingAggregate, COMDAT

; 2268 : {

	push	ebp
	mov	ebp, esp

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

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

; 2270 : 	{
; 2271 : 		return false;
; 2272 : 	}
; 2273 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2274 : 	if (!o)

	test	eax, eax

; 2275 : 	{
; 2276 : 		return false;

	je	SHORT $L80251

; 2277 : 	}
; 2278 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2279 : 	if (Class_ID != 0x9083)

	cmp	eax, 36995				; 00009083H
	sete	al

; 2280 : 	{
; 2281 : 		return false;
; 2282 : 	}
; 2283 : 	return true;
; 2284 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80251:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_BuildingAggregate@@YA_NPAE@Z ENDP			; Is_BuildingAggregate
_TEXT	ENDS
PUBLIC	?Is_Projectile@@YA_NPAE@Z			; Is_Projectile
; Function compile flags: /Ogty
;	COMDAT ?Is_Projectile@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Projectile@@YA_NPAE@Z PROC NEAR			; Is_Projectile, COMDAT

; 2287 : {

	push	ebp
	mov	ebp, esp

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

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

; 2289 : 	{
; 2290 : 		return false;
; 2291 : 	}
; 2292 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2293 : 	if (!o)

	test	eax, eax

; 2294 : 	{
; 2295 : 		return false;

	je	SHORT $L80260

; 2296 : 	}
; 2297 : 	int Class_ID = Get_Phys_Definition(o)->Get_Class_ID();

	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]

; 2298 : 	if (Class_ID != 0x9009)

	cmp	eax, 36873				; 00009009H
	sete	al

; 2299 : 	{
; 2300 : 		return false;
; 2301 : 	}
; 2302 : 	return true;
; 2303 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80260:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Projectile@@YA_NPAE@Z ENDP				; Is_Projectile
_TEXT	ENDS
PUBLIC	?Set_Max_Health@@YAXPAEM@Z			; Set_Max_Health
; Function compile flags: /Ogty
;	COMDAT ?Set_Max_Health@@YAXPAEM@Z
_TEXT	SEGMENT
_def$ = -4						; size = 4
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
?Set_Max_Health@@YAXPAEM@Z PROC NEAR			; Set_Max_Health, COMDAT

; 2306 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2308 : 	{
; 2309 : 		return;
; 2310 : 	}
; 2311 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 2312 : 	if (!o)

	test	eax, eax
	je	SHORT $L80270

; 2313 : 	{
; 2314 : 		return;
; 2315 : 	}
; 2316 : 	unsigned int *def = (unsigned int *)(o+0x72C);

	add	eax, 1836				; 0000072cH
	mov	DWORD PTR _def$[ebp], eax

; 2317 : #ifdef WIN32
; 2318 : 	_asm {
; 2319 : 		mov ecx,def

	mov	ecx, DWORD PTR _def$[ebp]

; 2320 : 		mov eax,health

	mov	eax, DWORD PTR _health$[ebp]

; 2321 : 		mov ebx,SetMaxHealth

	mov	ebx, DWORD PTR ?SetMaxHealth@@3P6AXM@ZA	; SetMaxHealth

; 2322 : 		push eax

	push	eax

; 2323 : 		call ebx

	call	ebx

; 2324 : 	}
; 2325 : #else
; 2326 : 	SetMaxHealth(def,health);
; 2327 : #endif
; 2328 : 	Commands->Set_Health(obj,health);

	mov	edx, DWORD PTR _health$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	esi
	call	DWORD PTR [eax+228]
	add	esp, 8
$L80270:

; 2329 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Max_Health@@YAXPAEM@Z ENDP				; Set_Max_Health
_TEXT	ENDS
PUBLIC	?Set_Max_Shield_Strength@@YAXPAEM@Z		; Set_Max_Shield_Strength
; Function compile flags: /Ogty
;	COMDAT ?Set_Max_Shield_Strength@@YAXPAEM@Z
_TEXT	SEGMENT
_def$ = -4						; size = 4
_obj$ = 8						; size = 4
_shieldstrength$ = 12					; size = 4
?Set_Max_Shield_Strength@@YAXPAEM@Z PROC NEAR		; Set_Max_Shield_Strength, COMDAT

; 2332 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2334 : 	{
; 2335 : 		return;
; 2336 : 	}
; 2337 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 2338 : 	if (!o)

	test	eax, eax
	je	SHORT $L80280

; 2339 : 	{
; 2340 : 		return;
; 2341 : 	}
; 2342 : 	unsigned int *def = (unsigned int *)(o+0x72C);

	add	eax, 1836				; 0000072cH
	mov	DWORD PTR _def$[ebp], eax

; 2343 : #ifdef WIN32
; 2344 : 	_asm {
; 2345 : 		mov ecx,def

	mov	ecx, DWORD PTR _def$[ebp]

; 2346 : 		mov eax,shieldstrength

	mov	eax, DWORD PTR _shieldstrength$[ebp]

; 2347 : 		mov ebx,SetMaxShieldStrength

	mov	ebx, DWORD PTR ?SetMaxShieldStrength@@3P6AXM@ZA ; SetMaxShieldStrength

; 2348 : 		push eax

	push	eax

; 2349 : 		call ebx

	call	ebx

; 2350 : 	}
; 2351 : #else
; 2352 : 	SetMaxShieldStrength(def,shieldstrength);
; 2353 : #endif
; 2354 : 	Commands->Set_Shield_Strength(obj,shieldstrength);

	mov	edx, DWORD PTR _shieldstrength$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	esi
	call	DWORD PTR [eax+240]
	add	esp, 8
$L80280:

; 2355 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Max_Shield_Strength@@YAXPAEM@Z ENDP		; Set_Max_Shield_Strength
_TEXT	ENDS
PUBLIC	?Find_First_Player@@YAPAEH@Z			; Find_First_Player
; Function compile flags: /Ogty
;	COMDAT ?Find_First_Player@@YAPAEH@Z
_TEXT	SEGMENT
_o$80292 = -4						; size = 4
_Team$ = 8						; size = 4
?Find_First_Player@@YAPAEH@Z PROC NEAR			; Find_First_Player, COMDAT

; 2358 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2360 : 	while (x)

	test	edi, edi
	je	$L80291
$L80290:

; 2361 : 	{
; 2362 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 2363 : 		if (o && As_SoldierGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$80292[ebp], esi
	je	SHORT $L80296
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80296
	mov	ecx, DWORD PTR _o$80292[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	test	eax, eax
	je	SHORT $L80296

; 2364 : 		{
; 2365 : 			if (Commands->Is_A_Star(o))

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

; 2366 : 			{
; 2367 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85862
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85862
	mov	ecx, DWORD PTR _o$80292[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L85862
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L85860
$L85862:
	xor	eax, eax
$L85860:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80297
	cmp	ecx, 2
	je	SHORT $L80297
$L80296:

; 2368 : 				{
; 2369 : 					return o;
; 2370 : 				}
; 2371 : 			}
; 2372 : 		}
; 2373 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80290
$L80291:

; 2374 : 	}
; 2375 : 	return 0;

	xor	eax, eax

; 2376 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80297:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_First_Player@@YAPAEH@Z ENDP			; Find_First_Player
_TEXT	ENDS
PUBLIC	?Get_Animation_Frame@@YAMPAE@Z			; Get_Animation_Frame
; Function compile flags: /Ogty
;	COMDAT ?Get_Animation_Frame@@YAMPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Animation_Frame@@YAMPAE@Z PROC NEAR		; Get_Animation_Frame, COMDAT

; 2380 : {

	push	ebp
	mov	ebp, esp

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

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

; 2384 : 	}
; 2385 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 2386 : 	if (!o)

	test	eax, eax

; 2387 : 	{
; 2388 : 		return 0;

	je	SHORT $L80302

; 2389 : 	}
; 2390 : 	unsigned char *c = o+0x778;
; 2391 : 	unsigned char *x = *(unsigned char **)c;
; 2392 : 	float a = (float)*(float *)(x+0x14);
; 2393 : 	return a;

	mov	edx, DWORD PTR [eax+1912]
	fld	DWORD PTR [edx+20]

; 2394 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80302:

; 2382 : 	{
; 2383 : 		return 0;

	fld	DWORD PTR __real@00000000

; 2394 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Get_Animation_Frame@@YAMPAE@Z ENDP			; Get_Animation_Frame
_TEXT	ENDS
PUBLIC	?Grant_Refill@@YAXPAE@Z				; Grant_Refill
; Function compile flags: /Ogty
;	COMDAT ?Grant_Refill@@YAXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Grant_Refill@@YAXPAE@Z PROC NEAR			; Grant_Refill, COMDAT

; 2397 : {

	push	ebp
	mov	ebp, esp

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

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

; 2399 : 	{
; 2400 : 		return;
; 2401 : 	}
; 2402 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 2403 : 	if (o)

	test	eax, eax
	je	SHORT $L80317

; 2404 : 	{
; 2405 : 		Grant_Supplies(obj);

	push	esi
	call	DWORD PTR ?Grant_Supplies@@3P6AXPAE@ZA	; Grant_Supplies
	add	esp, 4
$L80317:

; 2406 : 	}
; 2407 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Grant_Refill@@YAXPAE@Z ENDP				; Grant_Refill
_TEXT	ENDS
PUBLIC	?Grant_Powerup@@YAXPAEPBD@Z			; Grant_Powerup
; Function compile flags: /Ogty
;	COMDAT ?Grant_Powerup@@YAXPAEPBD@Z
_TEXT	SEGMENT
_def$80326 = -8						; size = 4
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
_Preset_Name$ = 12					; size = 4
?Grant_Powerup@@YAXPAEPBD@Z PROC NEAR			; Grant_Powerup, COMDAT

; 2410 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 2412 : 	{
; 2413 : 		return;
; 2414 : 	}
; 2415 : 	GameObject *o = As_SmartGameObj(obj);

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

; 2416 : 	if (o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax
	je	SHORT $L80325

; 2417 : 	{
; 2418 : 		DefinitionClass *def = Find_Named_Definition(Preset_Name);

	mov	edx, DWORD PTR _Preset_Name$[ebp]
	push	1
	push	edx
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8
	mov	DWORD PTR _def$80326[ebp], eax

; 2421 : 			mov ecx,def

	mov	ecx, DWORD PTR _def$80326[ebp]

; 2422 : 			mov eax,o

	mov	eax, DWORD PTR _o$[ebp]

; 2423 : 			mov ebx,Powerup_Grant

	mov	ebx, DWORD PTR ?Powerup_Grant@@3P6AXPAEH_N@ZA ; Powerup_Grant

; 2424 : 			push 1

	push	1

; 2425 : 			push 0

	push	0

; 2426 : 			push eax

	push	eax

; 2427 : 			call ebx

	call	ebx

; 2419 : #ifdef WIN32
; 2420 : 		_asm {

$L80325:

; 2428 : 		}
; 2429 : #else
; 2430 : 		Powerup_Grant(def,o,0,true);
; 2431 : #endif
; 2432 : 	}
; 2433 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Grant_Powerup@@YAXPAEPBD@Z ENDP			; Grant_Powerup
_TEXT	ENDS
PUBLIC	?Get_Vehicle@@YAPAEPAE@Z			; Get_Vehicle
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle@@YAPAEPAE@Z PROC NEAR			; Get_Vehicle, COMDAT

; 2436 : {

	push	ebp
	mov	ebp, esp

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

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

; 2438 : 	{
; 2439 : 		return 0;
; 2440 : 	}
; 2441 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 2442 : 	if (o)

	test	eax, eax
	je	SHORT $L80331

; 2443 : 	{
; 2444 : 		char *c = (char *)o;
; 2445 : 		c += 0x98C;
; 2446 : 		unsigned long *l = (unsigned long *)c;
; 2447 : 		GameObject *vehicle = (GameObject *)*l;

	mov	eax, DWORD PTR [eax+2444]

; 2448 : 		if (vehicle)

	test	eax, eax
	je	SHORT $L80331

; 2449 : 		{
; 2450 : 			GameObject *v = As_VehicleGameObj(vehicle);

	push	eax
	call	?As_VehicleGameObj@@YAPAEPAE@Z		; As_VehicleGameObj
	add	esp, 4

; 2451 : 			return v;
; 2452 : 		}
; 2453 : 		return 0;
; 2454 : 	}
; 2455 : 	return 0;
; 2456 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80331:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle@@YAPAEPAE@Z ENDP				; Get_Vehicle
_TEXT	ENDS
PUBLIC	??_C@_00CNPNBAHC@?$AA@				; `string'
PUBLIC	?Get_Shield_Type@@YAPBDPAE@Z			; Get_Shield_Type
;	COMDAT ??_C@_00CNPNBAHC@?$AA@
CONST	SEGMENT
??_C@_00CNPNBAHC@?$AA@ DB 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Shield_Type@@YAPBDPAE@Z
_TEXT	SEGMENT
_i$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Shield_Type@@YAPBDPAE@Z PROC NEAR			; Get_Shield_Type, COMDAT

; 2459 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2461 : 	{
; 2462 : 		return "";
; 2463 : 	}
; 2464 : 	unsigned int *i;
; 2465 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 2466 : 	if (!o)

	test	eax, eax

; 2467 : 	{
; 2468 : 		return "";

	je	SHORT $L80346

; 2469 : 	}
; 2470 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 2471 : #ifdef WIN32
; 2472 : 	def+=0x6;
; 2473 : 	void *def2 = (void *)*def;
; 2474 : 	Get_Safe_Data_Uint_Ref(def2,i);

	mov	eax, DWORD PTR [eax+1860]
	lea	edx, DWORD PTR _i$[ebp]
	push	edx
	push	eax
	call	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA ; Get_Safe_Data_Uint_Ref

; 2475 : 	return Get_Armor_Name(*i);

	mov	ecx, DWORD PTR _i$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	edx
	call	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA	; Get_Armor_Name
	add	esp, 12					; 0000000cH

; 2476 : #else
; 2477 : #ifdef RH8
; 2478 : 	def+=0x6;
; 2479 : #else
; 2480 : 	def+=0x5;
; 2481 : #endif
; 2482 : 	unsigned int *def2 = (unsigned int *)def;
; 2483 : 	return Get_Armor_Name(*def2);
; 2484 : #endif
; 2485 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80346:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Shield_Type@@YAPBDPAE@Z ENDP			; Get_Shield_Type
_TEXT	ENDS
PUBLIC	?Get_Skin@@YAPBDPAE@Z				; Get_Skin
; Function compile flags: /Ogty
;	COMDAT ?Get_Skin@@YAPBDPAE@Z
_TEXT	SEGMENT
_i$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Skin@@YAPBDPAE@Z PROC NEAR				; Get_Skin, COMDAT

; 2488 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2490 : 	{
; 2491 : 		return "";
; 2492 : 	}
; 2493 : 	unsigned int *i;
; 2494 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 2495 : 	if (!o)

	test	eax, eax

; 2496 : 	{
; 2497 : 		return "";

	je	SHORT $L80359

; 2498 : 	}
; 2499 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 2500 : #ifdef WIN32
; 2501 : 	def+=0x3;
; 2502 : 	void *def2 = (void *)*def;
; 2503 : 	Get_Safe_Data_Uint_Ref(def2,i);

	mov	eax, DWORD PTR [eax+1848]
	lea	edx, DWORD PTR _i$[ebp]
	push	edx
	push	eax
	call	DWORD PTR ?Get_Safe_Data_Uint_Ref@@3P6AXPAXAAPAI@ZA ; Get_Safe_Data_Uint_Ref

; 2504 : 	return Get_Armor_Name(*i);

	mov	ecx, DWORD PTR _i$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	edx
	call	DWORD PTR ?Get_Armor_Name@@3P6APBDI@ZA	; Get_Armor_Name
	add	esp, 12					; 0000000cH

; 2505 : #else
; 2506 : #ifdef RH8
; 2507 : 	def+=0x3;
; 2508 : #else
; 2509 : 	def+=0x2;
; 2510 : #endif
; 2511 : 	unsigned int *def2 = (unsigned int *)def;
; 2512 : 	return Get_Armor_Name(*def2);
; 2513 : #endif
; 2514 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80359:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Skin@@YAPBDPAE@Z ENDP				; Get_Skin
_TEXT	ENDS
PUBLIC	?Set_Skin@@YAXPAEPBD@Z				; Set_Skin
; Function compile flags: /Ogty
;	COMDAT ?Set_Skin@@YAXPAEPBD@Z
_TEXT	SEGMENT
_defx$ = -8						; size = 4
_skin$ = -4						; size = 4
_obj$ = 8						; size = 4
_Skintype$ = 12						; size = 4
?Set_Skin@@YAXPAEPBD@Z PROC NEAR			; Set_Skin, COMDAT

; 2517 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 2519 : 	{
; 2520 : 		return;
; 2521 : 	}
; 2522 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 2523 : 	if (!o)

	test	eax, eax
	je	SHORT $L80372

; 2524 : 	{
; 2525 : 		return;
; 2526 : 	}
; 2527 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 2528 : 	unsigned int *defx = def;
; 2529 : 	unsigned int skin = Get_Armor_Type(Skintype);

	mov	edx, DWORD PTR _Skintype$[ebp]
	lea	esi, DWORD PTR [eax+1836]
	push	edx
	mov	DWORD PTR _defx$[ebp], esi
	call	DWORD PTR ?Get_Armor_Type@@3P6AIPBD@ZA	; Get_Armor_Type
	mov	DWORD PTR _skin$[ebp], eax

; 2530 : #ifdef WIN32
; 2531 : 	def+=0x3;
; 2532 : 	void *def2 = (void *)*def;
; 2533 : 	Set_Safe_Data_Uint_Ref(def2,skin);

	mov	ecx, DWORD PTR [esi+12]
	lea	eax, DWORD PTR _skin$[ebp]
	push	eax
	push	ecx
	call	DWORD PTR ?Set_Safe_Data_Uint_Ref@@3P6AXPAXAAI@ZA ; Set_Safe_Data_Uint_Ref
	add	esp, 12					; 0000000cH

; 2545 : 		mov ecx,defx

	mov	ecx, DWORD PTR _defx$[ebp]

; 2546 : 		mov ebx,Mark_Owner_Dirty

	mov	ebx, DWORD PTR ?Mark_Owner_Dirty@@3P6AXXZA ; Mark_Owner_Dirty

; 2547 : 		call ebx

	call	ebx

; 2534 : #else
; 2535 : #ifdef RH8
; 2536 : 	def+=0x3;
; 2537 : #else
; 2538 : 	def+=0x2;
; 2539 : #endif
; 2540 : 	unsigned int *sk = (unsigned int *)def;
; 2541 : 	*sk = skin;
; 2542 : #endif
; 2543 : #ifdef WIN32
; 2544 : 	_asm {

$L80372:

; 2548 : 	}
; 2549 : #else
; 2550 : 	Mark_Owner_Dirty(defx);
; 2551 : #endif
; 2552 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Skin@@YAXPAEPBD@Z ENDP				; Set_Skin
_TEXT	ENDS
PUBLIC	?Create_Vehicle@@YAXPBDMPAEH@Z			; Create_Vehicle
; Function compile flags: /Ogty
;	COMDAT ?Create_Vehicle@@YAXPBDMPAEH@Z
_TEXT	SEGMENT
_factory$80392 = -8					; size = 4
_o$ = -4						; size = 4
_Preset_Name$ = 8					; size = 4
_Delay$ = 12						; size = 4
_ID$80396 = 16						; size = 4
_Owner$ = 16						; size = 4
_IsAvail$80394 = 19					; size = 1
_Team$ = 20						; size = 4
?Create_Vehicle@@YAXPBDMPAEH@Z PROC NEAR		; Create_Vehicle, COMDAT

; 2555 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 2556 : 	GameObject *o = 0;
; 2557 : 	if (Owner)

	mov	eax, DWORD PTR _Owner$[ebp]
	push	ebx
	push	esi
	xor	esi, esi
	test	eax, eax
	push	edi
	mov	DWORD PTR _o$[ebp], esi
	je	SHORT $L85936

; 2558 : 	{
; 2559 : 		o = As_SoldierGameObj(Owner);

	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L85938
	mov	ecx, DWORD PTR _Owner$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	mov	esi, eax
	jmp	SHORT $L85958
$L85938:
	xor	esi, esi
$L85958:
	mov	DWORD PTR _o$[ebp], esi
$L85936:

; 2560 : 	}
; 2561 : 	DefinitionClass *def = Find_Named_Definition(Preset_Name);

	mov	ecx, DWORD PTR _Preset_Name$[ebp]
	push	1
	push	ecx
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	mov	edi, eax
	add	esp, 8

; 2562 : 	if (def)

	test	edi, edi
	je	SHORT $L80395

; 2563 : 	{
; 2564 : 		if (!Get_Vehicle(o))

	push	esi
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4
	test	eax, eax
	jne	SHORT $L80395

; 2565 : 		{
; 2566 : 			GameObject *factory = Find_Vehicle_Factory(Team);

	mov	esi, DWORD PTR _Team$[ebp]
	push	53254					; 0000d006H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
	test	eax, eax
	jne	SHORT $L85959
	push	53255					; 0000d007H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
$L85959:

; 2567 : 			if (factory)

	test	eax, eax
	mov	DWORD PTR _factory$80392[ebp], eax
	je	SHORT $L80395

; 2568 : 			{
; 2569 : 				bool IsAvail;
; 2570 : #ifdef WIN32
; 2571 : 				_asm {
; 2572 : 					mov ecx,factory

	mov	ecx, DWORD PTR _factory$80392[ebp]

; 2573 : 					mov ebx,Is_Available_For_Purchase

	mov	ebx, DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA ; Is_Available_For_Purchase

; 2574 : 					call ebx

	call	ebx

; 2575 : 					mov IsAvail,al;

	mov	BYTE PTR _IsAvail$80394[ebp], al

; 2576 : 				}
; 2577 : #else
; 2578 : 				IsAvail = Is_Available_For_Purchase(factory);
; 2579 : #endif
; 2580 : 				if (IsAvail)

	mov	al, BYTE PTR _IsAvail$80394[ebp]
	test	al, al
	je	SHORT $L80395

; 2581 : 				{
; 2582 : 					unsigned int ID = def->Get_ID();

	mov	edx, DWORD PTR [edi]
	mov	ecx, edi
	call	DWORD PTR [edx+36]
	mov	DWORD PTR _ID$80396[ebp], eax

; 2585 : 						mov ecx,factory

	mov	ecx, DWORD PTR _factory$80392[ebp]

; 2586 : 						mov ebx,Request_Vehicle

	mov	ebx, DWORD PTR ?Request_Vehicle@@3P6A_NHMPAE@ZA ; Request_Vehicle

; 2587 : 						mov eax,o

	mov	eax, DWORD PTR _o$[ebp]

; 2588 : 						push eax

	push	eax

; 2589 : 						mov eax,Delay

	mov	eax, DWORD PTR _Delay$[ebp]

; 2590 : 						push eax

	push	eax

; 2591 : 						mov eax,ID

	mov	eax, DWORD PTR _ID$80396[ebp]

; 2592 : 						push eax

	push	eax

; 2593 : 						call ebx

	call	ebx

; 2583 : #ifdef WIN32
; 2584 : 					_asm {

$L80395:

; 2594 : 					}
; 2595 : #else
; 2596 : 					Request_Vehicle(factory,ID,Delay,o);
; 2597 : #endif
; 2598 : 				}
; 2599 : 			}
; 2600 : 		}
; 2601 : 	}
; 2602 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_Vehicle@@YAXPBDMPAEH@Z ENDP			; Create_Vehicle
_TEXT	ENDS
PUBLIC	?Toggle_Fly_Mode@@YAXPAE@Z			; Toggle_Fly_Mode
; Function compile flags: /Ogty
;	COMDAT ?Toggle_Fly_Mode@@YAXPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Toggle_Fly_Mode@@YAXPAE@Z PROC NEAR			; Toggle_Fly_Mode, COMDAT

; 2605 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2607 : 	{
; 2608 : 		return;
; 2609 : 	}
; 2610 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 2611 : 	if (o)

	test	esi, esi
	mov	DWORD PTR _o$[ebp], esi
	je	SHORT $L80403

; 2612 : 	{
; 2613 : #ifdef WIN32
; 2614 : 		_asm {
; 2615 : 			mov ecx,o

	mov	ecx, DWORD PTR _o$[ebp]

; 2616 : 			mov ebx,ToggleFly

	mov	ebx, DWORD PTR ?ToggleFly@@3P6AXXZA	; ToggleFly

; 2617 : 			call ebx

	call	ebx

; 2618 : 		}
; 2619 : #else
; 2620 : 		ToggleFly(o);
; 2621 : #endif
; 2622 : 		Commands->Enable_Collisions(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+88]
	add	esp, 4
$L80403:

; 2623 : 	}
; 2624 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Toggle_Fly_Mode@@YAXPAE@Z ENDP				; Toggle_Fly_Mode
_TEXT	ENDS
PUBLIC	?As_PowerupGameObj@@YAPAEPAE@Z			; As_PowerupGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_PowerupGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_PowerupGameObj@@YAPAEPAE@Z PROC NEAR		; As_PowerupGameObj, COMDAT

; 2627 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2629 : 	{
; 2630 : 		return 0;
; 2631 : 	}
; 2632 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 2633 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2634 : 	{
; 2635 : 		return 0;

	je	SHORT $L80408

; 2636 : 	}
; 2637 : #ifdef WIN32
; 2638 : 	_asm {
; 2639 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2640 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2641 : 		mov eax,[ebx+0x88]

	mov	eax, DWORD PTR [ebx+136]

; 2642 : 		call eax

	call	eax

; 2643 : 	}
; 2644 : #elif defined RH8
; 2645 : 	char *c = (char *)*(unsigned int *)obj;
; 2646 : 	c += 0xB0;
; 2647 : 	ago *t = (ago *)c;
; 2648 : 	ago agox = *t;
; 2649 : 	return agox(obj);
; 2650 : #else
; 2651 : 	GameObject *o = obj + 4;
; 2652 : 	char *c = (char *)*(unsigned int *)o;
; 2653 : 	c += 0x90;
; 2654 : 	ago *t = (ago *)c;
; 2655 : 	ago agox = *t;
; 2656 : 	return agox(obj);
; 2657 : #endif
; 2658 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80408:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_PowerupGameObj@@YAPAEPAE@Z ENDP			; As_PowerupGameObj
_TEXT	ENDS
PUBLIC	?As_C4GameObj@@YAPAEPAE@Z			; As_C4GameObj
; Function compile flags: /Ogty
;	COMDAT ?As_C4GameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_C4GameObj@@YAPAEPAE@Z PROC NEAR			; As_C4GameObj, COMDAT

; 2661 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2663 : 	{
; 2664 : 		return 0;
; 2665 : 	}
; 2666 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 2667 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2668 : 	{
; 2669 : 		return 0;

	je	SHORT $L80415

; 2670 : 	}
; 2671 : #ifdef WIN32
; 2672 : 	_asm {
; 2673 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2674 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2675 : 		mov eax,[ebx+0x8C]

	mov	eax, DWORD PTR [ebx+140]

; 2676 : 		call eax

	call	eax

; 2677 : 	}
; 2678 : #elif defined RH8
; 2679 : 	char *c = (char *)*(unsigned int *)obj;
; 2680 : 	c += 0xB4;
; 2681 : 	ago *t = (ago *)c;
; 2682 : 	ago agox = *t;
; 2683 : 	return agox(obj);
; 2684 : #else
; 2685 : 	GameObject *o = obj + 4;
; 2686 : 	char *c = (char *)*(unsigned int *)o;
; 2687 : 	c += 0x94;
; 2688 : 	ago *t = (ago *)c;
; 2689 : 	ago agox = *t;
; 2690 : 	return agox(obj);
; 2691 : #endif
; 2692 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80415:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_C4GameObj@@YAPAEPAE@Z ENDP				; As_C4GameObj
_TEXT	ENDS
PUBLIC	?As_BeaconGameObj@@YAPAEPAE@Z			; As_BeaconGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_BeaconGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_BeaconGameObj@@YAPAEPAE@Z PROC NEAR			; As_BeaconGameObj, COMDAT

; 2695 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2697 : 	{
; 2698 : 		return 0;
; 2699 : 	}
; 2700 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 2701 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2702 : 	{
; 2703 : 		return 0;

	je	SHORT $L80422

; 2704 : 	}
; 2705 : #ifdef WIN32
; 2706 : 	_asm {
; 2707 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2708 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2709 : 		mov eax,[ebx+0x90]

	mov	eax, DWORD PTR [ebx+144]

; 2710 : 		call eax

	call	eax

; 2711 : 	}
; 2712 : #elif defined RH8
; 2713 : 	char *c = (char *)*(unsigned int *)obj;
; 2714 : 	c += 0xB8;
; 2715 : 	ago *t = (ago *)c;
; 2716 : 	ago agox = *t;
; 2717 : 	return agox(obj);
; 2718 : #else
; 2719 : 	GameObject *o = obj + 4;
; 2720 : 	char *c = (char *)*(unsigned int *)o;
; 2721 : 	c += 0x98;
; 2722 : 	ago *t = (ago *)c;
; 2723 : 	ago agox = *t;
; 2724 : 	return agox(obj);
; 2725 : #endif
; 2726 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80422:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_BeaconGameObj@@YAPAEPAE@Z ENDP			; As_BeaconGameObj
_TEXT	ENDS
PUBLIC	?As_ArmedGameObj@@YAPAEPAE@Z			; As_ArmedGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_ArmedGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_ArmedGameObj@@YAPAEPAE@Z PROC NEAR			; As_ArmedGameObj, COMDAT

; 2729 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2731 : 	{
; 2732 : 		return 0;
; 2733 : 	}
; 2734 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 2735 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2736 : 	{
; 2737 : 		return 0;

	je	SHORT $L80429

; 2738 : 	}
; 2739 : #ifdef WIN32
; 2740 : 	_asm {
; 2741 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2742 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2743 : 		mov eax,[ebx+0x94]

	mov	eax, DWORD PTR [ebx+148]

; 2744 : 		call eax

	call	eax

; 2745 : 	}
; 2746 : #elif defined RH8
; 2747 : 	char *c = (char *)*(unsigned int *)obj;
; 2748 : 	c += 0xBC;
; 2749 : 	ago *t = (ago *)c;
; 2750 : 	ago agox = *t;
; 2751 : 	return agox(obj);
; 2752 : #else
; 2753 : 	GameObject *o = obj + 4;
; 2754 : 	char *c = (char *)*(unsigned int *)o;
; 2755 : 	c += 0x9C;
; 2756 : 	ago *t = (ago *)c;
; 2757 : 	ago agox = *t;
; 2758 : 	return agox(obj);
; 2759 : #endif
; 2760 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80429:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_ArmedGameObj@@YAPAEPAE@Z ENDP			; As_ArmedGameObj
_TEXT	ENDS
PUBLIC	?As_SimpleGameObj@@YAPAEPAE@Z			; As_SimpleGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_SimpleGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_SimpleGameObj@@YAPAEPAE@Z PROC NEAR			; As_SimpleGameObj, COMDAT

; 2763 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2765 : 	{
; 2766 : 		return 0;
; 2767 : 	}
; 2768 : 	GameObject *o2 = As_PhysicalGameObj(obj);

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

; 2769 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2770 : 	{
; 2771 : 		return 0;

	je	SHORT $L80436

; 2772 : 	}
; 2773 : #ifdef WIN32
; 2774 : 	_asm {
; 2775 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2776 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2777 : 		mov eax,[ebx+0x9C]

	mov	eax, DWORD PTR [ebx+156]

; 2778 : 		call eax

	call	eax

; 2779 : 	}
; 2780 : #elif defined RH8
; 2781 : 	char *c = (char *)*(unsigned int *)obj;
; 2782 : 	c += 0xC4;
; 2783 : 	ago *t = (ago *)c;
; 2784 : 	ago agox = *t;
; 2785 : 	return agox(obj);
; 2786 : #else
; 2787 : 	GameObject *o = obj + 4;
; 2788 : 	char *c = (char *)*(unsigned int *)o;
; 2789 : 	c += 0xA4;
; 2790 : 	ago *t = (ago *)c;
; 2791 : 	ago agox = *t;
; 2792 : 	return agox(obj);
; 2793 : #endif
; 2794 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80436:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_SimpleGameObj@@YAPAEPAE@Z ENDP			; As_SimpleGameObj
_TEXT	ENDS
PUBLIC	?As_PowerPlantGameObj@@YAPAEPAE@Z		; As_PowerPlantGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_PowerPlantGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_PowerPlantGameObj@@YAPAEPAE@Z PROC NEAR		; As_PowerPlantGameObj, COMDAT

; 2797 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2799 : 	{
; 2800 : 		return 0;
; 2801 : 	}
; 2802 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2803 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2804 : 	{
; 2805 : 		return 0;

	je	SHORT $L80443

; 2806 : 	}
; 2807 : #ifdef WIN32
; 2808 : 	_asm {
; 2809 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2810 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2811 : 		mov eax,[ebx+0x70]

	mov	eax, DWORD PTR [ebx+112]

; 2812 : 		call eax

	call	eax

; 2813 : 	}
; 2814 : #elif defined RH8
; 2815 : 	char *c = (char *)*(unsigned int *)obj;
; 2816 : 	c += 0x94;
; 2817 : 	ago *t = (ago *)c;
; 2818 : 	ago agox = *t;
; 2819 : 	return agox(obj);
; 2820 : #else
; 2821 : 	GameObject *o = obj + 4;
; 2822 : 	char *c = (char *)*(unsigned int *)o;
; 2823 : 	c += 0x78;
; 2824 : 	ago *t = (ago *)c;
; 2825 : 	ago agox = *t;
; 2826 : 	return agox(obj);
; 2827 : #endif
; 2828 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80443:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_PowerPlantGameObj@@YAPAEPAE@Z ENDP			; As_PowerPlantGameObj
_TEXT	ENDS
PUBLIC	?As_SoldierFactoryGameObj@@YAPAEPAE@Z		; As_SoldierFactoryGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_SoldierFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_SoldierFactoryGameObj@@YAPAEPAE@Z PROC NEAR		; As_SoldierFactoryGameObj, COMDAT

; 2831 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2833 : 	{
; 2834 : 		return 0;
; 2835 : 	}
; 2836 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2837 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2838 : 	{
; 2839 : 		return 0;

	je	SHORT $L80450

; 2840 : 	}
; 2841 : #ifdef WIN32
; 2842 : 	_asm {
; 2843 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2844 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2845 : 		mov eax,[ebx+0x74]

	mov	eax, DWORD PTR [ebx+116]

; 2846 : 		call eax

	call	eax

; 2847 : 	}
; 2848 : #elif defined RH8
; 2849 : 	char *c = (char *)*(unsigned int *)obj;
; 2850 : 	c += 0x98;
; 2851 : 	ago *t = (ago *)c;
; 2852 : 	ago agox = *t;
; 2853 : 	return agox(obj);
; 2854 : #else
; 2855 : 	GameObject *o = obj + 4;
; 2856 : 	char *c = (char *)*(unsigned int *)o;
; 2857 : 	c += 0x7C;
; 2858 : 	ago *t = (ago *)c;
; 2859 : 	ago agox = *t;
; 2860 : 	return agox(obj);
; 2861 : #endif
; 2862 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80450:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_SoldierFactoryGameObj@@YAPAEPAE@Z ENDP		; As_SoldierFactoryGameObj
_TEXT	ENDS
PUBLIC	?As_VehicleFactoryGameObj@@YAPAEPAE@Z		; As_VehicleFactoryGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_VehicleFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_VehicleFactoryGameObj@@YAPAEPAE@Z PROC NEAR		; As_VehicleFactoryGameObj, COMDAT

; 2865 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2867 : 	{
; 2868 : 		return 0;
; 2869 : 	}
; 2870 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2871 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2872 : 	{
; 2873 : 		return 0;

	je	SHORT $L80457

; 2874 : 	}
; 2875 : #ifdef WIN32
; 2876 : 	_asm {
; 2877 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2878 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2879 : 		mov eax,[ebx+0x78]

	mov	eax, DWORD PTR [ebx+120]

; 2880 : 		call eax

	call	eax

; 2881 : 	}
; 2882 : #elif defined RH8
; 2883 : 	char *c = (char *)*(unsigned int *)obj;
; 2884 : 	c += 0x9C;
; 2885 : 	ago *t = (ago *)c;
; 2886 : 	ago agox = *t;
; 2887 : 	return agox(obj);
; 2888 : #else
; 2889 : 	GameObject *o = obj + 4;
; 2890 : 	char *c = (char *)*(unsigned int *)o;
; 2891 : 	c += 0x80;
; 2892 : 	ago *t = (ago *)c;
; 2893 : 	ago agox = *t;
; 2894 : 	return agox(obj);
; 2895 : #endif
; 2896 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80457:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_VehicleFactoryGameObj@@YAPAEPAE@Z ENDP		; As_VehicleFactoryGameObj
_TEXT	ENDS
PUBLIC	?As_AirstripGameObj@@YAPAEPAE@Z			; As_AirstripGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_AirstripGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_AirstripGameObj@@YAPAEPAE@Z PROC NEAR		; As_AirstripGameObj, COMDAT

; 2899 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2901 : 	{
; 2902 : 		return 0;
; 2903 : 	}
; 2904 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2905 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2906 : 	{
; 2907 : 		return 0;

	je	SHORT $L80464

; 2908 : 	}
; 2909 : #ifdef WIN32
; 2910 : 	_asm {
; 2911 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2912 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2913 : 		mov eax,[ebx+0x7C]

	mov	eax, DWORD PTR [ebx+124]

; 2914 : 		call eax

	call	eax

; 2915 : 	}
; 2916 : #elif defined RH8
; 2917 : 	char *c = (char *)*(unsigned int *)obj;
; 2918 : 	c += 0xA0;
; 2919 : 	ago *t = (ago *)c;
; 2920 : 	ago agox = *t;
; 2921 : 	return agox(obj);
; 2922 : #else
; 2923 : 	GameObject *o = obj + 4;
; 2924 : 	char *c = (char *)*(unsigned int *)o;
; 2925 : 	c += 0x84;
; 2926 : 	ago *t = (ago *)c;
; 2927 : 	ago agox = *t;
; 2928 : 	return agox(obj);
; 2929 : #endif
; 2930 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80464:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_AirstripGameObj@@YAPAEPAE@Z ENDP			; As_AirstripGameObj
_TEXT	ENDS
PUBLIC	?As_WarFactoryGameObj@@YAPAEPAE@Z		; As_WarFactoryGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_WarFactoryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_WarFactoryGameObj@@YAPAEPAE@Z PROC NEAR		; As_WarFactoryGameObj, COMDAT

; 2933 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2935 : 	{
; 2936 : 		return 0;
; 2937 : 	}
; 2938 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2939 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2940 : 	{
; 2941 : 		return 0;

	je	SHORT $L80471

; 2942 : 	}
; 2943 : #ifdef WIN32
; 2944 : 	_asm {
; 2945 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2946 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2947 : 		mov eax,[ebx+0x80]

	mov	eax, DWORD PTR [ebx+128]

; 2948 : 		call eax

	call	eax

; 2949 : 	}
; 2950 : #elif defined RH8
; 2951 : 	char *c = (char *)*(unsigned int *)obj;
; 2952 : 	c += 0xA4;
; 2953 : 	ago *t = (ago *)c;
; 2954 : 	ago agox = *t;
; 2955 : 	return agox(obj);
; 2956 : #else
; 2957 : 	GameObject *o = obj + 4;
; 2958 : 	char *c = (char *)*(unsigned int *)o;
; 2959 : 	c += 0x88;
; 2960 : 	ago *t = (ago *)c;
; 2961 : 	ago agox = *t;
; 2962 : 	return agox(obj);
; 2963 : #endif
; 2964 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80471:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_WarFactoryGameObj@@YAPAEPAE@Z ENDP			; As_WarFactoryGameObj
_TEXT	ENDS
PUBLIC	?As_RefineryGameObj@@YAPAEPAE@Z			; As_RefineryGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_RefineryGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_RefineryGameObj@@YAPAEPAE@Z PROC NEAR		; As_RefineryGameObj, COMDAT

; 2967 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 2969 : 	{
; 2970 : 		return 0;
; 2971 : 	}
; 2972 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 2973 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 2974 : 	{
; 2975 : 		return 0;

	je	SHORT $L80478

; 2976 : 	}
; 2977 : #ifdef WIN32
; 2978 : 	_asm {
; 2979 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 2980 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 2981 : 		mov eax,[ebx+0x84]

	mov	eax, DWORD PTR [ebx+132]

; 2982 : 		call eax

	call	eax

; 2983 : 	}
; 2984 : #elif defined RH8
; 2985 : 	char *c = (char *)*(unsigned int *)obj;
; 2986 : 	c += 0xA8;
; 2987 : 	ago *t = (ago *)c;
; 2988 : 	ago agox = *t;
; 2989 : 	return agox(obj);
; 2990 : #else
; 2991 : 	GameObject *o = obj + 4;
; 2992 : 	char *c = (char *)*(unsigned int *)o;
; 2993 : 	c += 0x8C;
; 2994 : 	ago *t = (ago *)c;
; 2995 : 	ago agox = *t;
; 2996 : 	return agox(obj);
; 2997 : #endif
; 2998 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80478:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_RefineryGameObj@@YAPAEPAE@Z ENDP			; As_RefineryGameObj
_TEXT	ENDS
PUBLIC	?As_ComCenterGameObj@@YAPAEPAE@Z		; As_ComCenterGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_ComCenterGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_ComCenterGameObj@@YAPAEPAE@Z PROC NEAR		; As_ComCenterGameObj, COMDAT

; 3001 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 3003 : 	{
; 3004 : 		return 0;
; 3005 : 	}
; 3006 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 3007 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 3008 : 	{
; 3009 : 		return 0;

	je	SHORT $L80485

; 3010 : 	}
; 3011 : #ifdef WIN32
; 3012 : 	_asm {
; 3013 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 3014 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 3015 : 		mov eax,[ebx+0x88]

	mov	eax, DWORD PTR [ebx+136]

; 3016 : 		call eax

	call	eax

; 3017 : 	}
; 3018 : #elif defined RH8
; 3019 : 	char *c = (char *)*(unsigned int *)obj;
; 3020 : 	c += 0xAC;
; 3021 : 	ago *t = (ago *)c;
; 3022 : 	ago agox = *t;
; 3023 : 	return agox(obj);
; 3024 : #else
; 3025 : 	GameObject *o = obj + 4;
; 3026 : 	char *c = (char *)*(unsigned int *)o;
; 3027 : 	c += 0x90;
; 3028 : 	ago *t = (ago *)c;
; 3029 : 	ago agox = *t;
; 3030 : 	return agox(obj);
; 3031 : #endif
; 3032 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80485:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_ComCenterGameObj@@YAPAEPAE@Z ENDP			; As_ComCenterGameObj
_TEXT	ENDS
PUBLIC	?As_RepairBayGameObj@@YAPAEPAE@Z		; As_RepairBayGameObj
; Function compile flags: /Ogty
;	COMDAT ?As_RepairBayGameObj@@YAPAEPAE@Z
_TEXT	SEGMENT
_o2$ = -4						; size = 4
_obj$ = 8						; size = 4
?As_RepairBayGameObj@@YAPAEPAE@Z PROC NEAR		; As_RepairBayGameObj, COMDAT

; 3035 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 3037 : 	{
; 3038 : 		return 0;
; 3039 : 	}
; 3040 : 	GameObject *o2 = As_BuildingGameObj(obj);

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

; 3041 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax

; 3042 : 	{
; 3043 : 		return 0;

	je	SHORT $L80492

; 3044 : 	}
; 3045 : #ifdef WIN32
; 3046 : 	_asm {
; 3047 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 3048 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 3049 : 		mov eax,[ebx+0x8C]

	mov	eax, DWORD PTR [ebx+140]

; 3050 : 		call eax

	call	eax

; 3051 : 	}
; 3052 : #elif defined RH8
; 3053 : 	char *c = (char *)*(unsigned int *)obj;
; 3054 : 	c += 0xB0;
; 3055 : 	ago *t = (ago *)c;
; 3056 : 	ago agox = *t;
; 3057 : 	return agox(obj);
; 3058 : #else
; 3059 : 	GameObject *o = obj + 4;
; 3060 : 	char *c = (char *)*(unsigned int *)o;
; 3061 : 	c += 0x94;
; 3062 : 	ago *t = (ago *)c;
; 3063 : 	ago agox = *t;
; 3064 : 	return agox(obj);
; 3065 : #endif
; 3066 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80492:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?As_RepairBayGameObj@@YAPAEPAE@Z ENDP			; As_RepairBayGameObj
_TEXT	ENDS
PUBLIC	?Is_Powerup@@YA_NPAE@Z				; Is_Powerup
; Function compile flags: /Ogty
;	COMDAT ?Is_Powerup@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Powerup@@YA_NPAE@Z PROC NEAR			; Is_Powerup, COMDAT

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

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

; 3073 : 	}
; 3074 : 	if (As_PowerupGameObj(obj))

	push	esi
	call	?As_PowerupGameObj@@YAPAEPAE@Z		; As_PowerupGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3075 : 	{
; 3076 : 		return true;
; 3077 : 	}
; 3078 : 	return false;
; 3079 : }

	ret	0
$L80499:

; 3071 : 	{
; 3072 : 		return false;

	xor	al, al
	pop	esi

; 3075 : 	{
; 3076 : 		return true;
; 3077 : 	}
; 3078 : 	return false;
; 3079 : }

	ret	0
?Is_Powerup@@YA_NPAE@Z ENDP				; Is_Powerup
_TEXT	ENDS
PUBLIC	?Is_C4@@YA_NPAE@Z				; Is_C4
; Function compile flags: /Ogty
;	COMDAT ?Is_C4@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_C4@@YA_NPAE@Z PROC NEAR				; Is_C4, COMDAT

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

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

; 3086 : 	}
; 3087 : 	if (As_C4GameObj(obj))

	push	esi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3088 : 	{
; 3089 : 		return true;
; 3090 : 	}
; 3091 : 	return false;
; 3092 : }

	ret	0
$L80505:

; 3084 : 	{
; 3085 : 		return false;

	xor	al, al
	pop	esi

; 3088 : 	{
; 3089 : 		return true;
; 3090 : 	}
; 3091 : 	return false;
; 3092 : }

	ret	0
?Is_C4@@YA_NPAE@Z ENDP					; Is_C4
_TEXT	ENDS
PUBLIC	?Is_Scriptable@@YA_NPAE@Z			; Is_Scriptable
; Function compile flags: /Ogty
;	COMDAT ?Is_Scriptable@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Scriptable@@YA_NPAE@Z PROC NEAR			; Is_Scriptable, COMDAT

; 3095 : {

	push	ebp
	mov	ebp, esp

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

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

; 3097 : 	{
; 3098 : 		return false;
; 3099 : 	}
; 3100 : 	if (As_ScriptableGameObj(obj))

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

; 3101 : 	{
; 3102 : 		return true;

	mov	al, 1

; 3103 : 	}
; 3104 : 	return false;
; 3105 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L80511:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Scriptable@@YA_NPAE@Z ENDP				; Is_Scriptable
_TEXT	ENDS
PUBLIC	?Is_Beacon@@YA_NPAE@Z				; Is_Beacon
; Function compile flags: /Ogty
;	COMDAT ?Is_Beacon@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Beacon@@YA_NPAE@Z PROC NEAR				; Is_Beacon, COMDAT

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

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

; 3112 : 	}
; 3113 : 	if (As_BeaconGameObj(obj))

	push	esi
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3114 : 	{
; 3115 : 		return true;
; 3116 : 	}
; 3117 : 	return false;
; 3118 : }

	ret	0
$L80517:

; 3110 : 	{
; 3111 : 		return false;

	xor	al, al
	pop	esi

; 3114 : 	{
; 3115 : 		return true;
; 3116 : 	}
; 3117 : 	return false;
; 3118 : }

	ret	0
?Is_Beacon@@YA_NPAE@Z ENDP				; Is_Beacon
_TEXT	ENDS
PUBLIC	?Is_Armed@@YA_NPAE@Z				; Is_Armed
; Function compile flags: /Ogty
;	COMDAT ?Is_Armed@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Armed@@YA_NPAE@Z PROC NEAR				; Is_Armed, COMDAT

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

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

; 3125 : 	}
; 3126 : 	if (As_ArmedGameObj(obj))

	push	esi
	call	?As_ArmedGameObj@@YAPAEPAE@Z		; As_ArmedGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3127 : 	{
; 3128 : 		return true;
; 3129 : 	}
; 3130 : 	return false;
; 3131 : }

	ret	0
$L80523:

; 3123 : 	{
; 3124 : 		return false;

	xor	al, al
	pop	esi

; 3127 : 	{
; 3128 : 		return true;
; 3129 : 	}
; 3130 : 	return false;
; 3131 : }

	ret	0
?Is_Armed@@YA_NPAE@Z ENDP				; Is_Armed
_TEXT	ENDS
PUBLIC	?Is_Simple@@YA_NPAE@Z				; Is_Simple
; Function compile flags: /Ogty
;	COMDAT ?Is_Simple@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Simple@@YA_NPAE@Z PROC NEAR				; Is_Simple, COMDAT

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

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

; 3138 : 	}
; 3139 : 	if (As_SimpleGameObj(obj))

	push	esi
	call	?As_SimpleGameObj@@YAPAEPAE@Z		; As_SimpleGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3140 : 	{
; 3141 : 		return true;
; 3142 : 	}
; 3143 : 	return false;
; 3144 : }

	ret	0
$L80529:

; 3136 : 	{
; 3137 : 		return false;

	xor	al, al
	pop	esi

; 3140 : 	{
; 3141 : 		return true;
; 3142 : 	}
; 3143 : 	return false;
; 3144 : }

	ret	0
?Is_Simple@@YA_NPAE@Z ENDP				; Is_Simple
_TEXT	ENDS
PUBLIC	?Is_PowerPlant@@YA_NPAE@Z			; Is_PowerPlant
; Function compile flags: /Ogty
;	COMDAT ?Is_PowerPlant@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_PowerPlant@@YA_NPAE@Z PROC NEAR			; Is_PowerPlant, COMDAT

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

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

; 3151 : 	}
; 3152 : 	if (As_PowerPlantGameObj(obj))

	push	esi
	call	?As_PowerPlantGameObj@@YAPAEPAE@Z	; As_PowerPlantGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3153 : 	{
; 3154 : 		return true;
; 3155 : 	}
; 3156 : 	return false;
; 3157 : }

	ret	0
$L80535:

; 3149 : 	{
; 3150 : 		return false;

	xor	al, al
	pop	esi

; 3153 : 	{
; 3154 : 		return true;
; 3155 : 	}
; 3156 : 	return false;
; 3157 : }

	ret	0
?Is_PowerPlant@@YA_NPAE@Z ENDP				; Is_PowerPlant
_TEXT	ENDS
PUBLIC	?Is_SoldierFactory@@YA_NPAE@Z			; Is_SoldierFactory
; Function compile flags: /Ogty
;	COMDAT ?Is_SoldierFactory@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_SoldierFactory@@YA_NPAE@Z PROC NEAR			; Is_SoldierFactory, COMDAT

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

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

; 3164 : 	}
; 3165 : 	if (As_SoldierFactoryGameObj(obj))

	push	esi
	call	?As_SoldierFactoryGameObj@@YAPAEPAE@Z	; As_SoldierFactoryGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3166 : 	{
; 3167 : 		return true;
; 3168 : 	}
; 3169 : 	return false;
; 3170 : }

	ret	0
$L80541:

; 3162 : 	{
; 3163 : 		return false;

	xor	al, al
	pop	esi

; 3166 : 	{
; 3167 : 		return true;
; 3168 : 	}
; 3169 : 	return false;
; 3170 : }

	ret	0
?Is_SoldierFactory@@YA_NPAE@Z ENDP			; Is_SoldierFactory
_TEXT	ENDS
PUBLIC	?Is_VehicleFactory@@YA_NPAE@Z			; Is_VehicleFactory
; Function compile flags: /Ogty
;	COMDAT ?Is_VehicleFactory@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_VehicleFactory@@YA_NPAE@Z PROC NEAR			; Is_VehicleFactory, COMDAT

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

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

; 3177 : 	}
; 3178 : 	if (As_VehicleFactoryGameObj(obj))

	push	esi
	call	?As_VehicleFactoryGameObj@@YAPAEPAE@Z	; As_VehicleFactoryGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3179 : 	{
; 3180 : 		return true;
; 3181 : 	}
; 3182 : 	return false;
; 3183 : }

	ret	0
$L80547:

; 3175 : 	{
; 3176 : 		return false;

	xor	al, al
	pop	esi

; 3179 : 	{
; 3180 : 		return true;
; 3181 : 	}
; 3182 : 	return false;
; 3183 : }

	ret	0
?Is_VehicleFactory@@YA_NPAE@Z ENDP			; Is_VehicleFactory
_TEXT	ENDS
PUBLIC	?Is_Airstrip@@YA_NPAE@Z				; Is_Airstrip
; Function compile flags: /Ogty
;	COMDAT ?Is_Airstrip@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Airstrip@@YA_NPAE@Z PROC NEAR			; Is_Airstrip, COMDAT

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

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

; 3190 : 	}
; 3191 : 	if (As_AirstripGameObj(obj))

	push	esi
	call	?As_AirstripGameObj@@YAPAEPAE@Z		; As_AirstripGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3192 : 	{
; 3193 : 		return true;
; 3194 : 	}
; 3195 : 	return false;
; 3196 : }

	ret	0
$L80553:

; 3188 : 	{
; 3189 : 		return false;

	xor	al, al
	pop	esi

; 3192 : 	{
; 3193 : 		return true;
; 3194 : 	}
; 3195 : 	return false;
; 3196 : }

	ret	0
?Is_Airstrip@@YA_NPAE@Z ENDP				; Is_Airstrip
_TEXT	ENDS
PUBLIC	?Is_WarFactory@@YA_NPAE@Z			; Is_WarFactory
; Function compile flags: /Ogty
;	COMDAT ?Is_WarFactory@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_WarFactory@@YA_NPAE@Z PROC NEAR			; Is_WarFactory, COMDAT

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

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

; 3203 : 	}
; 3204 : 	if (As_WarFactoryGameObj(obj))

	push	esi
	call	?As_WarFactoryGameObj@@YAPAEPAE@Z	; As_WarFactoryGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3205 : 	{
; 3206 : 		return true;
; 3207 : 	}
; 3208 : 	return false;
; 3209 : }

	ret	0
$L80559:

; 3201 : 	{
; 3202 : 		return false;

	xor	al, al
	pop	esi

; 3205 : 	{
; 3206 : 		return true;
; 3207 : 	}
; 3208 : 	return false;
; 3209 : }

	ret	0
?Is_WarFactory@@YA_NPAE@Z ENDP				; Is_WarFactory
_TEXT	ENDS
PUBLIC	?Is_Refinery@@YA_NPAE@Z				; Is_Refinery
; Function compile flags: /Ogty
;	COMDAT ?Is_Refinery@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Refinery@@YA_NPAE@Z PROC NEAR			; Is_Refinery, COMDAT

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

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

; 3216 : 	}
; 3217 : 	if (As_RefineryGameObj(obj))

	push	esi
	call	?As_RefineryGameObj@@YAPAEPAE@Z		; As_RefineryGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3218 : 	{
; 3219 : 		return true;
; 3220 : 	}
; 3221 : 	return false;
; 3222 : }

	ret	0
$L80565:

; 3214 : 	{
; 3215 : 		return false;

	xor	al, al
	pop	esi

; 3218 : 	{
; 3219 : 		return true;
; 3220 : 	}
; 3221 : 	return false;
; 3222 : }

	ret	0
?Is_Refinery@@YA_NPAE@Z ENDP				; Is_Refinery
_TEXT	ENDS
PUBLIC	?Is_ComCenter@@YA_NPAE@Z			; Is_ComCenter
; Function compile flags: /Ogty
;	COMDAT ?Is_ComCenter@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_ComCenter@@YA_NPAE@Z PROC NEAR			; Is_ComCenter, COMDAT

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

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

; 3229 : 	}
; 3230 : 	if (As_ComCenterGameObj(obj))

	push	esi
	call	?As_ComCenterGameObj@@YAPAEPAE@Z	; As_ComCenterGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3231 : 	{
; 3232 : 		return true;
; 3233 : 	}
; 3234 : 	return false;
; 3235 : }

	ret	0
$L80571:

; 3227 : 	{
; 3228 : 		return false;

	xor	al, al
	pop	esi

; 3231 : 	{
; 3232 : 		return true;
; 3233 : 	}
; 3234 : 	return false;
; 3235 : }

	ret	0
?Is_ComCenter@@YA_NPAE@Z ENDP				; Is_ComCenter
_TEXT	ENDS
PUBLIC	?Is_RepairBay@@YA_NPAE@Z			; Is_RepairBay
; Function compile flags: /Ogty
;	COMDAT ?Is_RepairBay@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_RepairBay@@YA_NPAE@Z PROC NEAR			; Is_RepairBay, COMDAT

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

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

; 3242 : 	}
; 3243 : 	if (As_RepairBayGameObj(obj))

	push	esi
	call	?As_RepairBayGameObj@@YAPAEPAE@Z	; As_RepairBayGameObj
	add	esp, 4
	test	eax, eax
	setne	al
	pop	esi

; 3244 : 	{
; 3245 : 		return true;
; 3246 : 	}
; 3247 : 	return false;
; 3248 : }

	ret	0
$L80577:

; 3240 : 	{
; 3241 : 		return false;

	xor	al, al
	pop	esi

; 3244 : 	{
; 3245 : 		return true;
; 3246 : 	}
; 3247 : 	return false;
; 3248 : }

	ret	0
?Is_RepairBay@@YA_NPAE@Z ENDP				; Is_RepairBay
_TEXT	ENDS
PUBLIC	?Damage_All_Objects_Area@@YAXMPBDABUVector3@@MPAE2@Z ; Damage_All_Objects_Area
; Function compile flags: /Ogty
;	COMDAT ?Damage_All_Objects_Area@@YAXMPBDABUVector3@@MPAE2@Z
_TEXT	SEGMENT
$T86121 = -40						; size = 12
_ObjPosition$80596 = -28				; size = 12
_TestPosition$80598 = -16				; size = 12
_obj$80593 = -4						; size = 4
_Damage$ = 8						; size = 4
_Warhead$ = 12						; size = 4
_Position$ = 16						; size = 4
_Distance$ = 20						; size = 4
_Host$ = 24						; size = 4
_Damager$ = 28						; size = 4
?Damage_All_Objects_Area@@YAXMPBDABUVector3@@MPAE2@Z PROC NEAR ; Damage_All_Objects_Area, COMDAT

; 3251 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3252 : 	if (!Commands->Get_ID(Host) || !Host)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _Host$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80592
	test	esi, esi
	je	$L80592

; 3253 : 	{
; 3254 : 		return;
; 3255 : 	}
; 3256 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 3257 : 	while (x) 

	test	edi, edi
	je	$L80592
	npad	7
$L80591:

; 3258 : 	{
; 3259 : 		GameObject *obj = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 3260 : 		if (obj && As_ScriptableGameObj(obj)) 

	test	esi, esi
	mov	DWORD PTR _obj$80593[ebp], esi
	je	$L80599
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L80599
	mov	ecx, DWORD PTR _obj$80593[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L80599

; 3261 : 		{
; 3262 : 			Vector3 ObjPosition = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T86121[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$80596[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _ObjPosition$80596[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 3263 : 			Vector3 TestPosition = Position;

	mov	eax, DWORD PTR _Position$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$80596[ebp+8], edx
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _TestPosition$80598[ebp], ecx

; 3264 : 			ObjPosition.Z = 0;
; 3265 : 			TestPosition.Z = 0;
; 3266 : 			if ((Commands->Get_Distance(ObjPosition,TestPosition) <= Distance) && (Commands->Get_ID(obj) != Commands->Get_ID(Host)))

	lea	ecx, DWORD PTR _TestPosition$80598[ebp]
	mov	DWORD PTR _TestPosition$80598[ebp+4], edx
	mov	DWORD PTR _TestPosition$80598[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	lea	edx, DWORD PTR _ObjPosition$80596[ebp]
	push	edx
	mov	DWORD PTR _ObjPosition$80596[ebp+8], 0
	mov	DWORD PTR _TestPosition$80598[ebp+8], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _Distance$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80599
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	mov	edx, DWORD PTR _Host$[ebp]
	mov	ebx, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+108]
	add	esp, 8
	cmp	ebx, eax
	je	SHORT $L80599

; 3267 : 			{
; 3268 : 				Commands->Apply_Damage(obj,Damage,Warhead,Damager);

	mov	ecx, DWORD PTR _Damager$[ebp]
	mov	edx, DWORD PTR _Warhead$[ebp]
	mov	eax, DWORD PTR _Damage$[ebp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	eax
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L80599:

; 3269 : 			}
; 3270 : 		}
; 3271 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80591
$L80592:

; 3272 : 	}
; 3273 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Damage_All_Objects_Area@@YAXMPBDABUVector3@@MPAE2@Z ENDP ; Damage_All_Objects_Area
_TEXT	ENDS
PUBLIC	?Damage_All_Vehicles_Area@@YAXMPBDABUVector3@@MPAE2@Z ; Damage_All_Vehicles_Area
; Function compile flags: /Ogty
;	COMDAT ?Damage_All_Vehicles_Area@@YAXMPBDABUVector3@@MPAE2@Z
_TEXT	SEGMENT
$T86134 = -40						; size = 12
_ObjPosition$80617 = -28				; size = 12
_TestPosition$80619 = -16				; size = 12
$T86140 = -4						; size = 4
_obj$80614 = -4						; size = 4
_Damage$ = 8						; size = 4
_Warhead$ = 12						; size = 4
_Position$ = 16						; size = 4
_Distance$ = 20						; size = 4
_Host$ = 24						; size = 4
_Damager$ = 28						; size = 4
?Damage_All_Vehicles_Area@@YAXMPBDABUVector3@@MPAE2@Z PROC NEAR ; Damage_All_Vehicles_Area, COMDAT

; 3276 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3277 : 	if (!Commands->Get_ID(Host) || !Host)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _Host$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80613
	test	esi, esi
	je	$L80613

; 3278 : 	{
; 3279 : 		return;
; 3280 : 	}
; 3281 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 3282 : 	while (x) 

	test	edi, edi
	je	$L80613
	npad	7
$L80612:

; 3283 : 	{
; 3284 : 		GameObject *obj = As_VehicleGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86140[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L80620
	test	esi, esi
	je	$L80620
	mov	ecx, DWORD PTR $T86140[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	mov	esi, eax

; 3285 : 		if (obj && As_ScriptableGameObj(obj)) 

	test	esi, esi
	mov	DWORD PTR _obj$80614[ebp], esi
	je	$L80620
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80620
	mov	ecx, DWORD PTR _obj$80614[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L80620

; 3286 : 		{
; 3287 : 			Vector3 ObjPosition = Commands->Get_Position(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T86134[ebp]
	push	esi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$80617[ebp], ecx
	mov	edx, DWORD PTR [eax+4]

; 3288 : 			Vector3 TestPosition = Position;

	mov	ecx, DWORD PTR _Position$[ebp]
	mov	DWORD PTR _ObjPosition$80617[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR _ObjPosition$80617[ebp+8], eax
	mov	eax, DWORD PTR [ecx+4]
	mov	ecx, DWORD PTR [ecx+8]
	mov	DWORD PTR _TestPosition$80619[ebp], edx

; 3289 : 			ObjPosition.Z = 0;
; 3290 : 			TestPosition.Z = 0;
; 3291 : 			if ((Commands->Get_Distance(ObjPosition,TestPosition) <= Distance) && (Commands->Get_ID(obj) != Commands->Get_ID(Host)))

	lea	edx, DWORD PTR _TestPosition$80619[ebp]
	mov	DWORD PTR _TestPosition$80619[ebp+4], eax
	mov	DWORD PTR _TestPosition$80619[ebp+8], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	lea	eax, DWORD PTR _ObjPosition$80617[ebp]
	push	eax
	mov	DWORD PTR _ObjPosition$80617[ebp+8], 0
	mov	DWORD PTR _TestPosition$80619[ebp+8], 0
	call	DWORD PTR [ecx+256]
	fcomp	DWORD PTR _Distance$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80620
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	ebx, eax
	mov	eax, DWORD PTR _Host$[ebp]
	push	eax
	call	DWORD PTR [ecx+108]
	add	esp, 8
	cmp	ebx, eax
	je	SHORT $L80620

; 3292 : 			{
; 3293 : 				Commands->Apply_Damage(obj,Damage,Warhead,Damager);

	mov	edx, DWORD PTR _Damager$[ebp]
	mov	eax, DWORD PTR _Warhead$[ebp]
	mov	ecx, DWORD PTR _Damage$[ebp]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR [edx+616]
	add	esp, 16					; 00000010H
$L80620:

; 3294 : 			}
; 3295 : 		}
; 3296 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80612
$L80613:

; 3297 : 	}
; 3298 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Damage_All_Vehicles_Area@@YAXMPBDABUVector3@@MPAE2@Z ENDP ; Damage_All_Vehicles_Area
_TEXT	ENDS
PUBLIC	?Get_Team_Player_Count@@YAHH@Z			; Get_Team_Player_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Team_Player_Count@@YAHH@Z
_TEXT	SEGMENT
$T86157 = -8						; size = 4
_o$80629 = -8						; size = 4
_Total$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_Team_Player_Count@@YAHH@Z PROC NEAR		; Get_Team_Player_Count, COMDAT

; 3301 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 3302 : 	int Total = 0;
; 3303 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 3304 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], eax
	je	SHORT $L80628
	npad	5
$L80627:

; 3305 : 	{
; 3306 : 		GameObject *o = As_SoldierGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86157[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80631
	test	esi, esi
	je	SHORT $L80631
	mov	ecx, DWORD PTR $T86157[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	mov	esi, eax

; 3307 : 		if (o && Get_Object_Type(o) == Team)

	test	esi, esi
	mov	DWORD PTR _o$80629[ebp], esi
	je	SHORT $L80631
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86171
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86171
	mov	ecx, DWORD PTR _o$80629[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86171
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86169
$L86171:
	xor	eax, eax
$L86169:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L80631

; 3308 : 		{
; 3309 : 			Total ++;

	inc	DWORD PTR _Total$[ebp]
$L80631:

; 3310 : 		}
; 3311 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L80627

; 3312 : 	}
; 3313 : 	return Total;

	mov	eax, DWORD PTR _Total$[ebp]
$L80628:

; 3314 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Team_Player_Count@@YAHH@Z ENDP			; Get_Team_Player_Count
_TEXT	ENDS
PUBLIC	?Get_Building_Type@@YAPBDPAE@Z			; Get_Building_Type
PUBLIC	??_C@_0O@HNNKEAKD@Is_PowerPlant?$AA@		; `string'
PUBLIC	??_C@_0BC@BJIJEBBO@Is_SoldierFactory?$AA@	; `string'
PUBLIC	??_C@_0M@FDGOOIDO@Is_Airstrip?$AA@		; `string'
PUBLIC	??_C@_0O@LDEDDJBA@Is_WarFactory?$AA@		; `string'
PUBLIC	??_C@_0M@IGHPANDI@Is_Refinery?$AA@		; `string'
PUBLIC	??_C@_0N@HDCIACDB@Is_ComCenter?$AA@		; `string'
PUBLIC	??_C@_0N@HCJJACKE@Is_RepairBay?$AA@		; `string'
PUBLIC	??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@		; `string'
;	COMDAT ??_C@_0O@HNNKEAKD@Is_PowerPlant?$AA@
CONST	SEGMENT
??_C@_0O@HNNKEAKD@Is_PowerPlant?$AA@ DB 'Is_PowerPlant', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@BJIJEBBO@Is_SoldierFactory?$AA@
CONST	SEGMENT
??_C@_0BC@BJIJEBBO@Is_SoldierFactory?$AA@ DB 'Is_SoldierFactory', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@FDGOOIDO@Is_Airstrip?$AA@
CONST	SEGMENT
??_C@_0M@FDGOOIDO@Is_Airstrip?$AA@ DB 'Is_Airstrip', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@LDEDDJBA@Is_WarFactory?$AA@
CONST	SEGMENT
??_C@_0O@LDEDDJBA@Is_WarFactory?$AA@ DB 'Is_WarFactory', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@IGHPANDI@Is_Refinery?$AA@
CONST	SEGMENT
??_C@_0M@IGHPANDI@Is_Refinery?$AA@ DB 'Is_Refinery', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HDCIACDB@Is_ComCenter?$AA@
CONST	SEGMENT
??_C@_0N@HDCIACDB@Is_ComCenter?$AA@ DB 'Is_ComCenter', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@HCJJACKE@Is_RepairBay?$AA@
CONST	SEGMENT
??_C@_0N@HCJJACKE@Is_RepairBay?$AA@ DB 'Is_RepairBay', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
CONST	SEGMENT
??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ DB '(null)', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Building_Type@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Building_Type@@YAPBDPAE@Z PROC NEAR		; Get_Building_Type, COMDAT

; 3318 : 	if (Is_PowerPlant(obj))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80635
	test	esi, esi
	je	SHORT $L80635
	push	esi
	call	?As_PowerPlantGameObj@@YAPAEPAE@Z	; As_PowerPlantGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L80635

; 3319 : 	{
; 3320 : 		return "Is_PowerPlant";

	mov	eax, OFFSET FLAT:??_C@_0O@HNNKEAKD@Is_PowerPlant?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80635:

; 3321 : 	}
; 3322 : 	else if (Is_SoldierFactory(obj))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80638
	test	esi, esi
	je	SHORT $L80638
	push	esi
	call	?As_SoldierFactoryGameObj@@YAPAEPAE@Z	; As_SoldierFactoryGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L80638

; 3323 : 	{
; 3324 : 		return "Is_SoldierFactory";

	mov	eax, OFFSET FLAT:??_C@_0BC@BJIJEBBO@Is_SoldierFactory?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80638:

; 3325 : 	}
; 3326 : 	else if (Is_VehicleFactory(obj))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80641
	test	esi, esi
	je	SHORT $L80641
	push	esi
	call	?As_VehicleFactoryGameObj@@YAPAEPAE@Z	; As_VehicleFactoryGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L80641

; 3327 : 	{
; 3328 : 		if (Is_Airstrip(obj))

	push	esi
	call	?Is_Airstrip@@YA_NPAE@Z			; Is_Airstrip
	add	esp, 4
	test	al, al
	je	SHORT $L80642

; 3329 : 		{
; 3330 : 			return "Is_Airstrip";

	mov	eax, OFFSET FLAT:??_C@_0M@FDGOOIDO@Is_Airstrip?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80642:

; 3331 : 		}
; 3332 : 		else if (Is_WarFactory(obj))

	push	esi
	call	?Is_WarFactory@@YA_NPAE@Z		; Is_WarFactory
	add	esp, 4
	test	al, al
	je	SHORT $L80654

; 3333 : 		{
; 3334 : 			return "Is_WarFactory";

	mov	eax, OFFSET FLAT:??_C@_0O@LDEDDJBA@Is_WarFactory?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80641:

; 3335 : 		}
; 3336 : 	}
; 3337 : 	else if (Is_Refinery(obj))

	push	esi
	call	?Is_Refinery@@YA_NPAE@Z			; Is_Refinery
	add	esp, 4
	test	al, al
	je	SHORT $L80648

; 3338 : 	{
; 3339 : 		return "Is_Refinery";

	mov	eax, OFFSET FLAT:??_C@_0M@IGHPANDI@Is_Refinery?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80648:

; 3340 : 	}
; 3341 : 	else if (Is_ComCenter(obj))

	push	esi
	call	?Is_ComCenter@@YA_NPAE@Z		; Is_ComCenter
	add	esp, 4
	test	al, al
	je	SHORT $L80651

; 3342 : 	{
; 3343 : 		return "Is_ComCenter";

	mov	eax, OFFSET FLAT:??_C@_0N@HDCIACDB@Is_ComCenter?$AA@
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
$L80651:

; 3344 : 	}
; 3345 : 	else if (Is_RepairBay(obj))

	push	esi
	call	?Is_RepairBay@@YA_NPAE@Z		; Is_RepairBay
	add	esp, 4
	test	al, al

; 3346 : 	{
; 3347 : 		return "Is_RepairBay";

	mov	eax, OFFSET FLAT:??_C@_0N@HCJJACKE@Is_RepairBay?$AA@
	jne	SHORT $L80634
$L80654:

; 3348 : 	}
; 3349 : 	else
; 3350 : 	{
; 3351 : 		return "(null)";

	mov	eax, OFFSET FLAT:??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
$L80634:
	pop	esi

; 3352 : 	}
; 3353 : 	return "(null)";
; 3354 : }

	ret	0
?Get_Building_Type@@YAPBDPAE@Z ENDP			; Get_Building_Type
_TEXT	ENDS
PUBLIC	?Get_Physics@@YAPBDPAE@Z			; Get_Physics
PUBLIC	??_C@_07BMODAHHB@Is_Door?$AA@			; `string'
PUBLIC	??_C@_0M@PAGNNLL@Is_Elevator?$AA@		; `string'
PUBLIC	??_C@_0BI@MILEOEOM@Is_DamageableStaticPhys?$AA@	; `string'
PUBLIC	??_C@_0BC@FHHCMIE@Is_AccessablePhys?$AA@	; `string'
PUBLIC	??_C@_0BC@CGMCEOPL@Is_DecorationPhys?$AA@	; `string'
PUBLIC	??_C@_0N@IIDKGMMK@Is_HumanPhys?$AA@		; `string'
PUBLIC	??_C@_0BA@NMEMOAAA@Is_MotorVehicle?$AA@		; `string'
PUBLIC	??_C@_08INKCDJHE@Is_Phys3?$AA@			; `string'
PUBLIC	??_C@_0N@JIBAJJLF@Is_RigidBody?$AA@		; `string'
PUBLIC	??_C@_0BI@IDFOMLA@Is_ShakeableStatricPhys?$AA@	; `string'
PUBLIC	??_C@_0BC@BNMPKHKP@Is_StaticAnimPhys?$AA@	; `string'
PUBLIC	??_C@_0O@PMHLNCPL@Is_StaticPhys?$AA@		; `string'
PUBLIC	??_C@_0BH@OPGDFLJA@Is_TimedDecorationPhys?$AA@	; `string'
PUBLIC	??_C@_0P@DPJMCENA@Is_VehiclePhys?$AA@		; `string'
PUBLIC	??_C@_0BD@JPEOMMEF@Is_DynamicAnimPhys?$AA@	; `string'
PUBLIC	??_C@_0BF@LGMFACPH@Is_BuildingAggregate?$AA@	; `string'
PUBLIC	??_C@_0O@IEFMGMKP@Is_Projectile?$AA@		; `string'
;	COMDAT ??_C@_07BMODAHHB@Is_Door?$AA@
CONST	SEGMENT
??_C@_07BMODAHHB@Is_Door?$AA@ DB 'Is_Door', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@PAGNNLL@Is_Elevator?$AA@
CONST	SEGMENT
??_C@_0M@PAGNNLL@Is_Elevator?$AA@ DB 'Is_Elevator', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@MILEOEOM@Is_DamageableStaticPhys?$AA@
CONST	SEGMENT
??_C@_0BI@MILEOEOM@Is_DamageableStaticPhys?$AA@ DB 'Is_DamageableStaticPh'
	DB	'ys', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@FHHCMIE@Is_AccessablePhys?$AA@
CONST	SEGMENT
??_C@_0BC@FHHCMIE@Is_AccessablePhys?$AA@ DB 'Is_AccessablePhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@CGMCEOPL@Is_DecorationPhys?$AA@
CONST	SEGMENT
??_C@_0BC@CGMCEOPL@Is_DecorationPhys?$AA@ DB 'Is_DecorationPhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@IIDKGMMK@Is_HumanPhys?$AA@
CONST	SEGMENT
??_C@_0N@IIDKGMMK@Is_HumanPhys?$AA@ DB 'Is_HumanPhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@NMEMOAAA@Is_MotorVehicle?$AA@
CONST	SEGMENT
??_C@_0BA@NMEMOAAA@Is_MotorVehicle?$AA@ DB 'Is_MotorVehicle', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_08INKCDJHE@Is_Phys3?$AA@
CONST	SEGMENT
??_C@_08INKCDJHE@Is_Phys3?$AA@ DB 'Is_Phys3', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@JIBAJJLF@Is_RigidBody?$AA@
CONST	SEGMENT
??_C@_0N@JIBAJJLF@Is_RigidBody?$AA@ DB 'Is_RigidBody', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@IDFOMLA@Is_ShakeableStatricPhys?$AA@
CONST	SEGMENT
??_C@_0BI@IDFOMLA@Is_ShakeableStatricPhys?$AA@ DB 'Is_ShakeableStatricPhy'
	DB	's', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@BNMPKHKP@Is_StaticAnimPhys?$AA@
CONST	SEGMENT
??_C@_0BC@BNMPKHKP@Is_StaticAnimPhys?$AA@ DB 'Is_StaticAnimPhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@PMHLNCPL@Is_StaticPhys?$AA@
CONST	SEGMENT
??_C@_0O@PMHLNCPL@Is_StaticPhys?$AA@ DB 'Is_StaticPhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@OPGDFLJA@Is_TimedDecorationPhys?$AA@
CONST	SEGMENT
??_C@_0BH@OPGDFLJA@Is_TimedDecorationPhys?$AA@ DB 'Is_TimedDecorationPhys'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@DPJMCENA@Is_VehiclePhys?$AA@
CONST	SEGMENT
??_C@_0P@DPJMCENA@Is_VehiclePhys?$AA@ DB 'Is_VehiclePhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@JPEOMMEF@Is_DynamicAnimPhys?$AA@
CONST	SEGMENT
??_C@_0BD@JPEOMMEF@Is_DynamicAnimPhys?$AA@ DB 'Is_DynamicAnimPhys', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@LGMFACPH@Is_BuildingAggregate?$AA@
CONST	SEGMENT
??_C@_0BF@LGMFACPH@Is_BuildingAggregate?$AA@ DB 'Is_BuildingAggregate', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@IEFMGMKP@Is_Projectile?$AA@
CONST	SEGMENT
??_C@_0O@IEFMGMKP@Is_Projectile?$AA@ DB 'Is_Projectile', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Physics@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Physics@@YAPBDPAE@Z PROC NEAR			; Get_Physics, COMDAT

; 3357 : {

	push	esi

; 3358 : 	if (Is_Door(obj)) return "Is_Door";

	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	?Is_Door@@YA_NPAE@Z			; Is_Door
	add	esp, 4
	test	al, al
	je	SHORT $L80661
	mov	eax, OFFSET FLAT:??_C@_07BMODAHHB@Is_Door?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80661:

; 3359 : 	else if (Is_Elevator(obj)) return "Is_Elevator";

	push	esi
	call	?Is_Elevator@@YA_NPAE@Z			; Is_Elevator
	add	esp, 4
	test	al, al
	je	SHORT $L80664
	mov	eax, OFFSET FLAT:??_C@_0M@PAGNNLL@Is_Elevator?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80664:

; 3360 : 	else if (Is_DamageableStaticPhys(obj)) return "Is_DamageableStaticPhys";

	push	esi
	call	?Is_DamageableStaticPhys@@YA_NPAE@Z	; Is_DamageableStaticPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80667
	mov	eax, OFFSET FLAT:??_C@_0BI@MILEOEOM@Is_DamageableStaticPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80667:

; 3361 : 	else if (Is_AccessablePhys(obj)) return "Is_AccessablePhys";

	push	esi
	call	?Is_AccessablePhys@@YA_NPAE@Z		; Is_AccessablePhys
	add	esp, 4
	test	al, al
	je	SHORT $L80670
	mov	eax, OFFSET FLAT:??_C@_0BC@FHHCMIE@Is_AccessablePhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80670:

; 3362 : 	else if (Is_DecorationPhys(obj)) return "Is_DecorationPhys";

	push	esi
	call	?Is_DecorationPhys@@YA_NPAE@Z		; Is_DecorationPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80673
	mov	eax, OFFSET FLAT:??_C@_0BC@CGMCEOPL@Is_DecorationPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80673:

; 3363 : 	else if (Is_HumanPhys(obj)) return "Is_HumanPhys";

	push	esi
	call	?Is_HumanPhys@@YA_NPAE@Z		; Is_HumanPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80676
	mov	eax, OFFSET FLAT:??_C@_0N@IIDKGMMK@Is_HumanPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80676:

; 3364 : 	else if (Is_MotorVehicle(obj)) return "Is_MotorVehicle";

	push	esi
	call	?Is_MotorVehicle@@YA_NPAE@Z		; Is_MotorVehicle
	add	esp, 4
	test	al, al
	je	SHORT $L80679
	mov	eax, OFFSET FLAT:??_C@_0BA@NMEMOAAA@Is_MotorVehicle?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80679:

; 3365 : 	else if (Is_Phys3(obj)) return "Is_Phys3";

	push	esi
	call	?Is_Phys3@@YA_NPAE@Z			; Is_Phys3
	add	esp, 4
	test	al, al
	je	SHORT $L80682
	mov	eax, OFFSET FLAT:??_C@_08INKCDJHE@Is_Phys3?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80682:

; 3366 : 	else if (Is_RigidBody(obj)) return "Is_RigidBody";

	push	esi
	call	?Is_RigidBody@@YA_NPAE@Z		; Is_RigidBody
	add	esp, 4
	test	al, al
	je	SHORT $L80685
	mov	eax, OFFSET FLAT:??_C@_0N@JIBAJJLF@Is_RigidBody?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80685:

; 3367 : 	else if (Is_ShakeableStatricPhys(obj)) return "Is_ShakeableStatricPhys";

	push	esi
	call	?Is_ShakeableStatricPhys@@YA_NPAE@Z	; Is_ShakeableStatricPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80688
	mov	eax, OFFSET FLAT:??_C@_0BI@IDFOMLA@Is_ShakeableStatricPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80688:

; 3368 : 	else if (Is_StaticAnimPhys(obj)) return "Is_StaticAnimPhys";

	push	esi
	call	?Is_StaticAnimPhys@@YA_NPAE@Z		; Is_StaticAnimPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80691
	mov	eax, OFFSET FLAT:??_C@_0BC@BNMPKHKP@Is_StaticAnimPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80691:

; 3369 : 	else if (Is_StaticPhys(obj)) return "Is_StaticPhys";

	push	esi
	call	?Is_StaticPhys@@YA_NPAE@Z		; Is_StaticPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80694
	mov	eax, OFFSET FLAT:??_C@_0O@PMHLNCPL@Is_StaticPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80694:

; 3370 : 	else if (Is_TimedDecorationPhys(obj)) return "Is_TimedDecorationPhys";

	push	esi
	call	?Is_TimedDecorationPhys@@YA_NPAE@Z	; Is_TimedDecorationPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80697
	mov	eax, OFFSET FLAT:??_C@_0BH@OPGDFLJA@Is_TimedDecorationPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80697:

; 3371 : 	else if (Is_VehiclePhys(obj)) return "Is_VehiclePhys";

	push	esi
	call	?Is_VehiclePhys@@YA_NPAE@Z		; Is_VehiclePhys
	add	esp, 4
	test	al, al
	je	SHORT $L80700
	mov	eax, OFFSET FLAT:??_C@_0P@DPJMCENA@Is_VehiclePhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80700:

; 3372 : 	else if (Is_DynamicAnimPhys(obj)) return "Is_DynamicAnimPhys";

	push	esi
	call	?Is_DynamicAnimPhys@@YA_NPAE@Z		; Is_DynamicAnimPhys
	add	esp, 4
	test	al, al
	je	SHORT $L80703
	mov	eax, OFFSET FLAT:??_C@_0BD@JPEOMMEF@Is_DynamicAnimPhys?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80703:

; 3373 : 	else if (Is_BuildingAggregate(obj)) return "Is_BuildingAggregate";

	push	esi
	call	?Is_BuildingAggregate@@YA_NPAE@Z	; Is_BuildingAggregate
	add	esp, 4
	test	al, al
	je	SHORT $L80706
	mov	eax, OFFSET FLAT:??_C@_0BF@LGMFACPH@Is_BuildingAggregate?$AA@
	pop	esi

; 3376 : }

	ret	0
$L80706:

; 3374 : 	else if (Is_Projectile(obj)) return "Is_Projectile";

	push	esi
	call	?Is_Projectile@@YA_NPAE@Z		; Is_Projectile
	add	esp, 4
	test	al, al
	mov	eax, OFFSET FLAT:??_C@_0O@IEFMGMKP@Is_Projectile?$AA@
	jne	SHORT $L80711

; 3375 : 	else return "(null)";

	mov	eax, OFFSET FLAT:??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@
$L80711:
	pop	esi

; 3376 : }

	ret	0
?Get_Physics@@YAPBDPAE@Z ENDP				; Get_Physics
_TEXT	ENDS
PUBLIC	?Ranged_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ; Ranged_Damage_To_Buildings
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86216 = -40						; size = 12
_pos1$80786 = -28					; size = 12
_pos2$80788 = -16					; size = 12
$T86222 = -4						; size = 4
_Damage$ = 8						; size = 4
_Warhead$ = 12						; size = 4
_Location$ = 16						; size = 12
_DamageRadius$ = 28					; size = 4
_Damager$ = 32						; size = 4
?Ranged_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Damage_To_Buildings, COMDAT

; 3488 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3489 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80780

; 3490 : 	{
; 3491 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3492 : 		while (x)

	test	edi, edi
	je	$L80780
	npad	3
$L80779:

; 3493 : 		{
; 3494 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86222[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80790
	test	esi, esi
	je	$L80790
	mov	ecx, DWORD PTR $T86222[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3495 : 			if (o)

	test	esi, esi
	je	$L80790

; 3496 : 			{
; 3497 : 				float health = Commands->Get_Health(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]

; 3498 : 				if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80790

; 3499 : 				{
; 3500 : 					Vector3 pos1 = Commands->Get_Position(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T86216[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80786[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos1$80786[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 3501 : 					Vector3 pos2 = Location;

	mov	eax, DWORD PTR _Location$[ebp]
	mov	ecx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80786[ebp+8], edx
	mov	edx, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80788[ebp], eax

; 3502 : 
; 3503 : 					float Distance = Commands->Get_Distance(pos1,pos2);

	lea	eax, DWORD PTR _pos2$80788[ebp]
	mov	DWORD PTR _pos2$80788[ebp+4], ecx
	push	eax
	lea	ecx, DWORD PTR _pos1$80786[ebp]
	mov	DWORD PTR _pos2$80788[ebp+8], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]

; 3504 : 
; 3505 : 					if (Distance <= DamageRadius)

	fcomp	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80790

; 3506 : 					{
; 3507 : 						Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	eax, DWORD PTR _Damager$[ebp]
	mov	ecx, DWORD PTR _Warhead$[ebp]
	mov	edx, DWORD PTR _Damage$[ebp]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR [eax+616]
	add	esp, 16					; 00000010H
$L80790:

; 3508 : 					}
; 3509 : 				}
; 3510 : 			}
; 3511 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80779
$L80780:

; 3512 : 		}
; 3513 : 	}
; 3514 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ENDP ; Ranged_Damage_To_Buildings
_TEXT	ENDS
PUBLIC	?Ranged_Scale_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ; Ranged_Scale_Damage_To_Buildings
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Scale_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86229 = -44						; size = 12
_pos1$80809 = -32					; size = 12
_pos2$80811 = -20					; size = 12
_Ratio$80799 = -8					; size = 4
$T86235 = -4						; size = 4
_Damage$ = 8						; size = 4
_Warhead$ = 12						; size = 4
_Location$ = 16						; size = 12
_DamageRadius$ = 28					; size = 4
_Damager$ = 32						; size = 4
?Ranged_Scale_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Scale_Damage_To_Buildings, COMDAT

; 3517 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 44					; 0000002cH

; 3518 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80803

; 3519 : 	{
; 3520 : 		float Ratio = Damage/DamageRadius;

	fld	DWORD PTR _Damage$[ebp]

; 3521 : 
; 3522 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3523 : 		while (x)

	test	edi, edi
	fstp	DWORD PTR _Ratio$80799[ebp]
	je	$L80803
$L80802:

; 3524 : 		{
; 3525 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86235[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80813
	test	esi, esi
	je	$L80813
	mov	ecx, DWORD PTR $T86235[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3526 : 			if (o)

	test	esi, esi
	je	$L80813

; 3527 : 			{
; 3528 : 				float health = Commands->Get_Health(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]

; 3529 : 				if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80813

; 3530 : 				{
; 3531 : 					Vector3 pos1 = Commands->Get_Position(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T86229[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80809[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos1$80809[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 3532 : 					Vector3 pos2 = Location;

	mov	eax, DWORD PTR _Location$[ebp]
	mov	ecx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80809[ebp+8], edx
	mov	edx, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80811[ebp], eax

; 3533 : 
; 3534 : 					float Distance = Commands->Get_Distance(pos1,pos2);

	lea	eax, DWORD PTR _pos2$80811[ebp]
	mov	DWORD PTR _pos2$80811[ebp+4], ecx
	push	eax
	lea	ecx, DWORD PTR _pos1$80809[ebp]
	mov	DWORD PTR _pos2$80811[ebp+8], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]

; 3535 : 
; 3536 : 					if (Distance <= DamageRadius)

	fcom	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L86238

; 3537 : 					{
; 3538 : 						float scaledamage = (Damage - (Distance*(Ratio)));

	fmul	DWORD PTR _Ratio$80799[ebp]

; 3539 : 						Commands->Apply_Damage(o,scaledamage,Warhead,Damager);

	mov	eax, DWORD PTR _Damager$[ebp]
	mov	ecx, DWORD PTR _Warhead$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	fsubr	DWORD PTR _Damage$[ebp]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [edx+616]
	add	esp, 16					; 00000010H
	jmp	SHORT $L80813
$L86238:
	fstp	ST(0)
$L80813:

; 3540 : 					}
; 3541 : 				}
; 3542 : 			}
; 3543 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80802
$L80803:

; 3544 : 		}
; 3545 : 	}
; 3546 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Scale_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ENDP ; Ranged_Scale_Damage_To_Buildings
_TEXT	ENDS
PUBLIC	?Ranged_Percentage_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ; Ranged_Percentage_Damage_To_Buildings
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Percentage_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86243 = -40						; size = 12
_pos1$80832 = -28					; size = 12
_pos2$80834 = -16					; size = 12
$T86249 = -4						; size = 4
_Damage$80838 = -4					; size = 4
_Percentage$ = 8					; size = 4
_Warhead$ = 12						; size = 4
_Location$ = 16						; size = 12
_DamageRadius$ = 28					; size = 4
_Damager$ = 32						; size = 4
?Ranged_Percentage_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Percentage_Damage_To_Buildings, COMDAT

; 3549 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3550 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80826

; 3551 : 	{
; 3552 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3553 : 		while (x)

	test	edi, edi
	je	$L80826
	npad	3
$L80825:

; 3554 : 		{
; 3555 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86249[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80836
	test	esi, esi
	je	$L80836
	mov	ecx, DWORD PTR $T86249[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3556 : 			if (o)

	test	esi, esi
	je	$L80836

; 3557 : 			{
; 3558 : 				float health = Commands->Get_Health(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]

; 3559 : 				if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80836

; 3560 : 				{
; 3561 : 					Vector3 pos1 = Commands->Get_Position(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T86243[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80832[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos1$80832[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 3562 : 					Vector3 pos2 = Location;

	mov	eax, DWORD PTR _Location$[ebp]
	mov	ecx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80832[ebp+8], edx
	mov	edx, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80834[ebp], eax

; 3563 : 
; 3564 : 					float Distance = Commands->Get_Distance(pos1,pos2);

	lea	eax, DWORD PTR _pos2$80834[ebp]
	mov	DWORD PTR _pos2$80834[ebp+4], ecx
	push	eax
	lea	ecx, DWORD PTR _pos1$80832[ebp]
	mov	DWORD PTR _pos2$80834[ebp+8], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]

; 3565 : 
; 3566 : 					if (Distance <= DamageRadius)

	fcomp	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80836

; 3567 : 					{
; 3568 : 						float Max_Health = Commands->Get_Max_Health(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+224]

; 3569 : 						float Damage = Max_Health*Percentage;
; 3570 : 						Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	ecx, DWORD PTR _Damager$[ebp]
	mov	edx, DWORD PTR _Warhead$[ebp]
	fmul	DWORD PTR _Percentage$[ebp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	fstp	DWORD PTR _Damage$80838[ebp]
	mov	eax, DWORD PTR _Damage$80838[ebp]
	push	eax
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 20					; 00000014H
$L80836:

; 3571 : 					}
; 3572 : 				}
; 3573 : 			}
; 3574 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80825
$L80826:

; 3575 : 		}
; 3576 : 	}
; 3577 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Percentage_Damage_To_Buildings@@YAXMPBDUVector3@@MPAE@Z ENDP ; Ranged_Percentage_Damage_To_Buildings
_TEXT	ENDS
PUBLIC	?Ranged_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ; Ranged_Damage_To_Buildings_Team
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86256 = -40						; size = 12
_pos1$80859 = -28					; size = 12
_pos2$80861 = -16					; size = 12
$T86262 = -4						; size = 4
_o$80852 = -4						; size = 4
_Team$ = 8						; size = 4
_Damage$ = 12						; size = 4
_Warhead$ = 16						; size = 4
_Location$ = 20						; size = 12
_DamageRadius$ = 32					; size = 4
_Damager$ = 36						; size = 4
?Ranged_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Damage_To_Buildings_Team, COMDAT

; 3580 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3581 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80851

; 3582 : 	{
; 3583 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3584 : 		while (x)

	test	edi, edi
	je	$L80851
	npad	3
$L80850:

; 3585 : 		{
; 3586 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86262[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80863
	test	esi, esi
	je	$L80863
	mov	ecx, DWORD PTR $T86262[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3587 : 			if (o)

	test	esi, esi
	mov	DWORD PTR _o$80852[ebp], esi
	je	$L80863

; 3588 : 			{
; 3589 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86276
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86276
	mov	ecx, DWORD PTR _o$80852[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86276
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86274
$L86276:
	xor	eax, eax
$L86274:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80856
	cmp	ecx, 2
	jne	$L80863
$L80856:

; 3590 : 				{
; 3591 : 					float health = Commands->Get_Health(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+220]

; 3592 : 					if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80863

; 3593 : 					{
; 3594 : 						Vector3 pos1 = Commands->Get_Position(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T86256[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80859[ebp], ecx
	mov	edx, DWORD PTR [eax+4]

; 3595 : 						Vector3 pos2 = Location;

	mov	ecx, DWORD PTR _Location$[ebp]
	mov	DWORD PTR _pos1$80859[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80859[ebp+8], eax
	mov	eax, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80861[ebp], ecx

; 3596 : 						float Distance = Commands->Get_Distance(pos1,pos2);

	lea	ecx, DWORD PTR _pos2$80861[ebp]
	mov	DWORD PTR _pos2$80861[ebp+4], edx
	push	ecx
	lea	edx, DWORD PTR _pos1$80859[ebp]
	mov	DWORD PTR _pos2$80861[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 3597 : 						if (Distance <= DamageRadius)

	fcomp	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80863

; 3598 : 						{
; 3599 : 							Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	ecx, DWORD PTR _Damager$[ebp]
	mov	edx, DWORD PTR _Warhead$[ebp]
	mov	eax, DWORD PTR _Damage$[ebp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	eax
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L80863:

; 3600 : 						}
; 3601 : 					}
; 3602 : 				}
; 3603 : 			}
; 3604 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80850
$L80851:

; 3605 : 		}
; 3606 : 	}
; 3607 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ENDP ; Ranged_Damage_To_Buildings_Team
_TEXT	ENDS
PUBLIC	?Ranged_Scale_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ; Ranged_Scale_Damage_To_Buildings_Team
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Scale_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86289 = -44						; size = 12
_pos1$80885 = -32					; size = 12
_pos2$80887 = -20					; size = 12
_Ratio$80873 = -8					; size = 4
$T86295 = -4						; size = 4
_o$80878 = -4						; size = 4
_Team$ = 8						; size = 4
_Damage$ = 12						; size = 4
_Warhead$ = 16						; size = 4
_Location$ = 20						; size = 12
_DamageRadius$ = 32					; size = 4
_Damager$ = 36						; size = 4
?Ranged_Scale_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Scale_Damage_To_Buildings_Team, COMDAT

; 3610 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 44					; 0000002cH

; 3611 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80877

; 3612 : 	{
; 3613 : 		float Ratio = Damage/DamageRadius;

	fld	DWORD PTR _Damage$[ebp]

; 3614 : 
; 3615 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3616 : 		while (x)

	test	edi, edi
	fstp	DWORD PTR _Ratio$80873[ebp]
	je	$L80877
$L80876:

; 3617 : 		{
; 3618 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86295[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80889
	test	esi, esi
	je	$L80889
	mov	ecx, DWORD PTR $T86295[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3619 : 			if (o)

	test	esi, esi
	mov	DWORD PTR _o$80878[ebp], esi
	je	$L80889

; 3620 : 			{
; 3621 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86309
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86309
	mov	ecx, DWORD PTR _o$80878[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86309
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86307
$L86309:
	xor	eax, eax
$L86307:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80882
	cmp	ecx, 2
	jne	$L80889
$L80882:

; 3622 : 				{
; 3623 : 					float health = Commands->Get_Health(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+220]

; 3624 : 					if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80889

; 3625 : 					{
; 3626 : 						Vector3 pos1 = Commands->Get_Position(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T86289[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80885[ebp], ecx
	mov	edx, DWORD PTR [eax+4]

; 3627 : 						Vector3 pos2 = Location;

	mov	ecx, DWORD PTR _Location$[ebp]
	mov	DWORD PTR _pos1$80885[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80885[ebp+8], eax
	mov	eax, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80887[ebp], ecx

; 3628 : 						float Distance = Commands->Get_Distance(pos1,pos2);

	lea	ecx, DWORD PTR _pos2$80887[ebp]
	mov	DWORD PTR _pos2$80887[ebp+4], edx
	push	ecx
	lea	edx, DWORD PTR _pos1$80885[ebp]
	mov	DWORD PTR _pos2$80887[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 3629 : 						if (Distance <= DamageRadius)

	fcom	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L86317

; 3630 : 						{
; 3631 : 							float scaledamage = (Damage - (Distance*(Ratio)));

	fmul	DWORD PTR _Ratio$80873[ebp]

; 3632 : 							Commands->Apply_Damage(o,scaledamage,Warhead,Damager);

	mov	ecx, DWORD PTR _Damager$[ebp]
	mov	edx, DWORD PTR _Warhead$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	edx
	fsubr	DWORD PTR _Damage$[ebp]
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [eax+616]
	add	esp, 16					; 00000010H
	jmp	SHORT $L80889
$L86317:
	fstp	ST(0)
$L80889:

; 3633 : 						}
; 3634 : 					}
; 3635 : 				}
; 3636 : 			}
; 3637 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80876
$L80877:

; 3638 : 		}
; 3639 : 	}
; 3640 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Scale_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ENDP ; Ranged_Scale_Damage_To_Buildings_Team
_TEXT	ENDS
PUBLIC	?Ranged_Percentage_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ; Ranged_Percentage_Damage_To_Buildings_Team
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Percentage_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T86323 = -40						; size = 12
_pos1$80911 = -28					; size = 12
_pos2$80913 = -16					; size = 12
$T86329 = -4						; size = 4
_Damage$80917 = -4					; size = 4
_o$80904 = -4						; size = 4
_Team$ = 8						; size = 4
_Percentage$ = 12					; size = 4
_Warhead$ = 16						; size = 4
_Location$ = 20						; size = 12
_DamageRadius$ = 32					; size = 4
_Damager$ = 36						; size = 4
?Ranged_Percentage_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Percentage_Damage_To_Buildings_Team, COMDAT

; 3643 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 3644 : 	if (DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L80903

; 3645 : 	{
; 3646 : 		GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 3647 : 		while (x)

	test	edi, edi
	je	$L80903
	npad	3
$L80902:

; 3648 : 		{
; 3649 : 			GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86329[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L80915
	test	esi, esi
	je	$L80915
	mov	ecx, DWORD PTR $T86329[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3650 : 			if (o)

	test	esi, esi
	mov	DWORD PTR _o$80904[ebp], esi
	je	$L80915

; 3651 : 			{
; 3652 : 				if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86343
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86343
	mov	ecx, DWORD PTR _o$80904[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86343
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86341
$L86343:
	xor	eax, eax
$L86341:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80908
	cmp	ecx, 2
	jne	$L80915
$L80908:

; 3653 : 				{
; 3654 : 					float health = Commands->Get_Health(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+220]

; 3655 : 					if (health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80915

; 3656 : 					{
; 3657 : 						Vector3 pos1 = Commands->Get_Position(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T86323[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$80911[ebp], ecx
	mov	edx, DWORD PTR [eax+4]

; 3658 : 						Vector3 pos2 = Location;

	mov	ecx, DWORD PTR _Location$[ebp]
	mov	DWORD PTR _pos1$80911[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$80911[ebp+8], eax
	mov	eax, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$80913[ebp], ecx

; 3659 : 						float Distance = Commands->Get_Distance(pos1,pos2);

	lea	ecx, DWORD PTR _pos2$80913[ebp]
	mov	DWORD PTR _pos2$80913[ebp+4], edx
	push	ecx
	lea	edx, DWORD PTR _pos1$80911[ebp]
	mov	DWORD PTR _pos2$80913[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 3660 : 						if (Distance <= DamageRadius)

	fcomp	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L80915

; 3661 : 						{
; 3662 : 							float Max_Health = Commands->Get_Max_Health(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+224]

; 3663 : 							float Damage = Max_Health*Percentage;
; 3664 : 							Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	edx, DWORD PTR _Damager$[ebp]
	mov	eax, DWORD PTR _Warhead$[ebp]
	fmul	DWORD PTR _Percentage$[ebp]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	fstp	DWORD PTR _Damage$80917[ebp]
	mov	ecx, DWORD PTR _Damage$80917[ebp]
	push	ecx
	push	esi
	call	DWORD PTR [edx+616]
	add	esp, 20					; 00000014H
$L80915:

; 3665 : 						}
; 3666 : 					}
; 3667 : 				}
; 3668 : 			}
; 3669 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80902
$L80903:

; 3670 : 		}
; 3671 : 	}
; 3672 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Percentage_Damage_To_Buildings_Team@@YAXHMPBDUVector3@@MPAE@Z ENDP ; Ranged_Percentage_Damage_To_Buildings_Team
_TEXT	ENDS
PUBLIC	?Send_Custom_To_Team_Buildings@@YAXHPAEHHM@Z	; Send_Custom_To_Team_Buildings
; Function compile flags: /Ogty
;	COMDAT ?Send_Custom_To_Team_Buildings@@YAXHPAEHHM@Z
_TEXT	SEGMENT
$T86360 = -8						; size = 4
_o$80931 = -8						; size = 4
_x$ = -4						; size = 4
_Team$ = 8						; size = 4
_sender$ = 12						; size = 4
_message$ = 16						; size = 4
_param$ = 20						; size = 4
_delay$ = 24						; size = 4
?Send_Custom_To_Team_Buildings@@YAXHPAEHHM@Z PROC NEAR	; Send_Custom_To_Team_Buildings, COMDAT

; 3675 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	push	edi
	mov	edi, DWORD PTR _sender$[ebp]
	push	edi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80930
	test	edi, edi
	je	$L80930

; 3677 : 	{
; 3678 : 		return;
; 3679 : 	}
; 3680 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A ; BuildingGameObjList
	mov	eax, DWORD PTR [ecx+4]

; 3681 : 	while (x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	$L80930
	npad	4
$L80929:

; 3682 : 	{
; 3683 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	edx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [edx+4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86360[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80937
	test	esi, esi
	je	$L80937
	mov	ecx, DWORD PTR $T86360[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 3684 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$80931[ebp], esi
	je	SHORT $L80937

; 3685 : 		{
; 3686 : 			if (Get_Object_Type(o) == Team)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86374
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86374
	mov	ecx, DWORD PTR _o$80931[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86374
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86372
$L86374:
	xor	eax, eax
$L86372:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L80937

; 3687 : 			{
; 3688 : 				int ReceiverID = Commands->Get_ID(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]

; 3689 : 				int SenderID = Commands->Get_ID(sender);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	ebx, eax
	call	DWORD PTR [ecx+108]
	add	esp, 8

; 3690 : 				if (SenderID != ReceiverID)

	cmp	eax, ebx
	je	SHORT $L80937

; 3691 : 				{
; 3692 : 					Commands->Send_Custom_Event(sender,o,message,param,delay);

	mov	edx, DWORD PTR _delay$[ebp]
	mov	eax, DWORD PTR _param$[ebp]
	mov	ecx, DWORD PTR _message$[ebp]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	push	esi
	push	edi
	call	DWORD PTR [edx+140]
	add	esp, 20					; 00000014H
$L80937:

; 3693 : 				}
; 3694 : 			}
; 3695 : 		}
; 3696 : 		x = x->NodeNext;

	mov	eax, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L80929
$L80930:

; 3697 : 	}
; 3698 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Custom_To_Team_Buildings@@YAXHPAEHHM@Z ENDP	; Send_Custom_To_Team_Buildings
_TEXT	ENDS
PUBLIC	?Send_Custom_To_Team_Preset@@YAXHPBDPAEHHM@Z	; Send_Custom_To_Team_Preset
; Function compile flags: /Ogty
;	COMDAT ?Send_Custom_To_Team_Preset@@YAXHPBDPAEHHM@Z
_TEXT	SEGMENT
_o$80952 = -4						; size = 4
_Team$ = 8						; size = 4
_PresetName$ = 12					; size = 4
_sender$ = 16						; size = 4
_message$ = 20						; size = 4
_param$ = 24						; size = 4
_delay$ = 28						; size = 4
?Send_Custom_To_Team_Preset@@YAXHPBDPAEHHM@Z PROC NEAR	; Send_Custom_To_Team_Preset, COMDAT

; 3701 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _sender$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80951
	test	esi, esi
	je	$L80951

; 3703 : 	{
; 3704 : 		return;
; 3705 : 	}
; 3706 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 3707 : 	while (x)

	test	edi, edi
	je	$L80951
$L80950:

; 3708 : 	{
; 3709 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 3710 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$80952[ebp], esi
	je	SHORT $L80956
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80956
	mov	ecx, DWORD PTR _o$80952[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L80956

; 3711 : 		{
; 3712 : 			if (Get_Object_Type(o) == Team)

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _Team$[ebp]
	add	esp, 4
	cmp	eax, ecx
	jne	SHORT $L80956

; 3713 : 			{
; 3714 : 				if (!stricmp(Commands->Get_Preset_Name(o),PresetName))

	mov	eax, DWORD PTR _PresetName$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	esi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L80956

; 3715 : 				{
; 3716 : 					Commands->Send_Custom_Event(sender,o,message,param,delay);

	mov	edx, DWORD PTR _delay$[ebp]
	mov	eax, DWORD PTR _param$[ebp]
	mov	ecx, DWORD PTR _message$[ebp]
	push	edx
	mov	edx, DWORD PTR _sender$[ebp]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	esi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L80956:

; 3717 : 				}
; 3718 : 			}
; 3719 : 		}
; 3720 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L80950
$L80951:

; 3721 : 	}
; 3722 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Custom_To_Team_Preset@@YAXHPBDPAEHHM@Z ENDP	; Send_Custom_To_Team_Preset
_TEXT	ENDS
PUBLIC	?Send_Message_Team@@YAXHIIIPBD@Z		; Send_Message_Team
; Function compile flags: /Ogty
;	COMDAT ?Send_Message_Team@@YAXHIIIPBD@Z
_TEXT	SEGMENT
$T86403 = -4						; size = 4
_o$80989 = -4						; size = 4
_team$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
_msg$ = 24						; size = 4
?Send_Message_Team@@YAXHIIIPBD@Z PROC NEAR		; Send_Message_Team, COMDAT

; 3765 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3766 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3767 : 	while (x)

	test	edi, edi
	je	$L80988
	npad	9
$L80987:

; 3768 : 	{
; 3769 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86403[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L80992
	test	esi, esi
	je	SHORT $L80992
	mov	ecx, DWORD PTR $T86403[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3770 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$80989[ebp], esi
	je	SHORT $L80992

; 3771 : 		{
; 3772 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86417
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86417
	mov	ecx, DWORD PTR _o$80989[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86417
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86415
$L86417:
	xor	eax, eax
$L86415:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L80993
	cmp	ecx, 2
	jne	SHORT $L80992
$L80993:

; 3773 : 			{
; 3774 : 				Send_Message_Player(o,red,green,blue,msg);

	mov	ecx, DWORD PTR _msg$[ebp]
	mov	edx, DWORD PTR _blue$[ebp]
	mov	eax, DWORD PTR _green$[ebp]
	push	ecx
	mov	ecx, DWORD PTR _red$[ebp]
	push	edx
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR ?Send_Message_Player@@3P6AXPAEIIIPBD@ZA ; Send_Message_Player
	add	esp, 20					; 00000014H
$L80992:

; 3775 : 			}
; 3776 : 		}
; 3777 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80987
$L80988:

; 3778 : 	}
; 3779 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Message_Team@@YAXHIIIPBD@Z ENDP			; Send_Message_Team
_TEXT	ENDS
PUBLIC	?Set_Obj_Radar_Blip_Shape_Team@@YAXHPAEH@Z	; Set_Obj_Radar_Blip_Shape_Team
; Function compile flags: /Ogty
;	COMDAT ?Set_Obj_Radar_Blip_Shape_Team@@YAXHPAEH@Z
_TEXT	SEGMENT
$T86434 = -4						; size = 4
_o$81003 = -4						; size = 4
_Team$ = 8						; size = 4
_obj$ = 12						; size = 4
_shape$ = 16						; size = 4
?Set_Obj_Radar_Blip_Shape_Team@@YAXHPAEH@Z PROC NEAR	; Set_Obj_Radar_Blip_Shape_Team, COMDAT

; 3782 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3783 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3784 : 	while (x)

	test	edi, edi
	je	$L81002
	npad	9
$L81001:

; 3785 : 	{
; 3786 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86434[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81006
	test	esi, esi
	je	SHORT $L81006
	mov	ecx, DWORD PTR $T86434[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3787 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81003[ebp], esi
	je	SHORT $L81006

; 3788 : 		{
; 3789 : 			if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86448
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86448
	mov	ecx, DWORD PTR _o$81003[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86448
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86446
$L86448:
	xor	eax, eax
$L86446:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81007
	cmp	ecx, 2
	jne	SHORT $L81006
$L81007:

; 3790 : 			{
; 3791 : 				Set_Obj_Radar_Blip_Shape_Player(o,obj,shape);

	mov	ecx, DWORD PTR _shape$[ebp]
	mov	edx, DWORD PTR _obj$[ebp]
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR ?Set_Obj_Radar_Blip_Shape_Player@@3P6AXPAE0H@ZA ; Set_Obj_Radar_Blip_Shape_Player
	add	esp, 12					; 0000000cH
$L81006:

; 3792 : 			}
; 3793 : 		}
; 3794 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81001
$L81002:

; 3795 : 	}
; 3796 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Obj_Radar_Blip_Shape_Team@@YAXHPAEH@Z ENDP		; Set_Obj_Radar_Blip_Shape_Team
_TEXT	ENDS
PUBLIC	?Set_Obj_Radar_Blip_Color_Team@@YAXHPAEH@Z	; Set_Obj_Radar_Blip_Color_Team
; Function compile flags: /Ogty
;	COMDAT ?Set_Obj_Radar_Blip_Color_Team@@YAXHPAEH@Z
_TEXT	SEGMENT
$T86465 = -4						; size = 4
_o$81017 = -4						; size = 4
_Team$ = 8						; size = 4
_obj$ = 12						; size = 4
_color$ = 16						; size = 4
?Set_Obj_Radar_Blip_Color_Team@@YAXHPAEH@Z PROC NEAR	; Set_Obj_Radar_Blip_Color_Team, COMDAT

; 3799 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3800 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3801 : 	while (x)

	test	edi, edi
	je	$L81016
	npad	9
$L81015:

; 3802 : 	{
; 3803 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86465[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81020
	test	esi, esi
	je	SHORT $L81020
	mov	ecx, DWORD PTR $T86465[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3804 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81017[ebp], esi
	je	SHORT $L81020

; 3805 : 		{
; 3806 : 			if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86479
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86479
	mov	ecx, DWORD PTR _o$81017[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86479
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86477
$L86479:
	xor	eax, eax
$L86477:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81021
	cmp	ecx, 2
	jne	SHORT $L81020
$L81021:

; 3807 : 			{
; 3808 : 				Set_Obj_Radar_Blip_Color_Player(o,obj,color);

	mov	ecx, DWORD PTR _color$[ebp]
	mov	edx, DWORD PTR _obj$[ebp]
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR ?Set_Obj_Radar_Blip_Color_Player@@3P6AXPAE0H@ZA ; Set_Obj_Radar_Blip_Color_Player
	add	esp, 12					; 0000000cH
$L81020:

; 3809 : 			}
; 3810 : 		}
; 3811 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81015
$L81016:

; 3812 : 	}
; 3813 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Obj_Radar_Blip_Color_Team@@YAXHPAEH@Z ENDP		; Set_Obj_Radar_Blip_Color_Team
_TEXT	ENDS
PUBLIC	??8?$VectorClass@PAE@@UAE_NAAV0@@Z		; VectorClass<unsigned char *>::operator==
PUBLIC	?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z	; VectorClass<unsigned char *>::Resize
PUBLIC	?Clear@?$VectorClass@PAE@@UAEXXZ		; VectorClass<unsigned char *>::Clear
PUBLIC	?ID@?$VectorClass@PAE@@UAEHAAPAE@Z		; VectorClass<unsigned char *>::ID
PUBLIC	?ID@?$VectorClass@PAE@@UAEHPAPAE@Z		; VectorClass<unsigned char *>::ID
PUBLIC	??0?$VectorClass@PAE@@QAE@ABV0@@Z		; VectorClass<unsigned char *>::VectorClass<unsigned char *>
PUBLIC	??_7?$VectorClass@PAE@@6B@			; VectorClass<unsigned char *>::`vftable'
PUBLIC	??_G?$VectorClass@PAE@@UAEPAXI@Z		; VectorClass<unsigned char *>::`scalar deleting destructor'
EXTRN	??_E?$VectorClass@PAE@@UAEPAXI@Z:NEAR		; VectorClass<unsigned char *>::`vector deleting destructor'
;	COMDAT ??_7?$VectorClass@PAE@@6B@
CONST	SEGMENT
??_7?$VectorClass@PAE@@6B@ DD FLAT:??_E?$VectorClass@PAE@@UAEPAXI@Z ; VectorClass<unsigned char *>::`vftable'
	DD	FLAT:??8?$VectorClass@PAE@@UAE_NAAV0@@Z
	DD	FLAT:?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z
	DD	FLAT:?Clear@?$VectorClass@PAE@@UAEXXZ
	DD	FLAT:?ID@?$VectorClass@PAE@@UAEHPAPAE@Z
	DD	FLAT:?ID@?$VectorClass@PAE@@UAEHAAPAE@Z
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$VectorClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT
___that$ = 8						; size = 4
??0?$VectorClass@PAE@@QAE@ABV0@@Z PROC NEAR		; VectorClass<unsigned char *>::VectorClass<unsigned char *>, COMDAT
; _this$ = ecx
	mov	eax, ecx
	mov	ecx, DWORD PTR ___that$[esp-4]
	mov	DWORD PTR [eax], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	edx, DWORD PTR [ecx+4]
	mov	DWORD PTR [eax+4], edx
	mov	edx, DWORD PTR [ecx+8]
	mov	DWORD PTR [eax+8], edx
	mov	dl, BYTE PTR [ecx+12]
	mov	BYTE PTR [eax+12], dl
	mov	cl, BYTE PTR [ecx+13]
	mov	BYTE PTR [eax+13], cl
	ret	4
??0?$VectorClass@PAE@@QAE@ABV0@@Z ENDP			; VectorClass<unsigned char *>::VectorClass<unsigned char *>
_TEXT	ENDS
PUBLIC	?Enable_Team_Radar@@YAXH_N@Z			; Enable_Team_Radar
; Function compile flags: /Ogty
;	COMDAT ?Enable_Team_Radar@@YAXH_N@Z
_TEXT	SEGMENT
$T86499 = -4						; size = 4
_o$81058 = -4						; size = 4
_Team$ = 8						; size = 4
_Enable$ = 12						; size = 1
?Enable_Team_Radar@@YAXH_N@Z PROC NEAR			; Enable_Team_Radar, COMDAT

; 3839 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3840 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3841 : 	while (x)

	test	edi, edi
	je	$L81057
	npad	9
$L81056:

; 3842 : 	{
; 3843 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86499[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81061
	test	esi, esi
	je	SHORT $L81061
	mov	ecx, DWORD PTR $T86499[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3844 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81058[ebp], esi
	je	SHORT $L81061

; 3845 : 		{
; 3846 : 			if ((Get_Object_Type(o) == Team) || (Team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86513
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86513
	mov	ecx, DWORD PTR _o$81058[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86513
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86511
$L86513:
	xor	eax, eax
$L86511:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81062
	cmp	ecx, 2
	jne	SHORT $L81061
$L81062:

; 3847 : 			{
; 3848 : 				Enable_Radar_Player(o,Enable);

	mov	ecx, DWORD PTR _Enable$[ebp]
	push	ecx
	push	esi
	call	DWORD PTR ?Enable_Radar_Player@@3P6AXPAE_N@ZA ; Enable_Radar_Player
	add	esp, 8
$L81061:

; 3849 : 			}
; 3850 : 		}
; 3851 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81056
$L81057:

; 3852 : 	}
; 3853 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Enable_Team_Radar@@YAXH_N@Z ENDP			; Enable_Team_Radar
_TEXT	ENDS
PUBLIC	?Create_Sound_Team@@YAXPBDABUVector3@@PAEH@Z	; Create_Sound_Team
; Function compile flags: /Ogty
;	COMDAT ?Create_Sound_Team@@YAXPBDABUVector3@@PAEH@Z
_TEXT	SEGMENT
$T86530 = -4						; size = 4
_o$81075 = -4						; size = 4
_soundname$ = 8						; size = 4
_position$ = 12						; size = 4
_obj$ = 16						; size = 4
_team$ = 20						; size = 4
?Create_Sound_Team@@YAXPBDABUVector3@@PAEH@Z PROC NEAR	; Create_Sound_Team, COMDAT

; 3856 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L81074
	test	esi, esi
	je	$L81074

; 3858 : 	{
; 3859 : 		return;
; 3860 : 	}
; 3861 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A ; SmartGameObjList
	mov	edi, DWORD PTR [ecx+4]

; 3862 : 	while (x)

	test	edi, edi
	je	$L81074
	npad	9
$L81073:

; 3863 : 	{
; 3864 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86530[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81078
	test	esi, esi
	je	SHORT $L81078
	mov	ecx, DWORD PTR $T86530[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3865 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81075[ebp], esi
	je	SHORT $L81078

; 3866 : 		{
; 3867 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86544
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86544
	mov	ecx, DWORD PTR _o$81075[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86544
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86542
$L86544:
	xor	eax, eax
$L86542:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81079
	cmp	ecx, 2
	jne	SHORT $L81078
$L81079:

; 3868 : 			{
; 3869 : 				Create_Sound_Player(o,soundname,position,obj);

	mov	edx, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR _position$[ebp]
	mov	ecx, DWORD PTR _soundname$[ebp]
	push	edx
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR ?Create_Sound_Player@@3P6AHPAEPBDABUVector3@@0@ZA ; Create_Sound_Player
	add	esp, 16					; 00000010H
$L81078:

; 3870 : 			}
; 3871 : 		}
; 3872 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81073
$L81074:

; 3873 : 	}
; 3874 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_Sound_Team@@YAXPBDABUVector3@@PAEH@Z ENDP	; Create_Sound_Team
_TEXT	ENDS
PUBLIC	?Create_2D_Sound_Team@@YAXPBDH@Z		; Create_2D_Sound_Team
; Function compile flags: /Ogty
;	COMDAT ?Create_2D_Sound_Team@@YAXPBDH@Z
_TEXT	SEGMENT
$T86561 = -4						; size = 4
_o$81088 = -4						; size = 4
_soundname$ = 8						; size = 4
_team$ = 12						; size = 4
?Create_2D_Sound_Team@@YAXPBDH@Z PROC NEAR		; Create_2D_Sound_Team, COMDAT

; 3877 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3878 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3879 : 	while (x)

	test	edi, edi
	je	$L81087
	npad	9
$L81086:

; 3880 : 	{
; 3881 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86561[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81091
	test	esi, esi
	je	SHORT $L81091
	mov	ecx, DWORD PTR $T86561[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3882 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81088[ebp], esi
	je	SHORT $L81091

; 3883 : 		{
; 3884 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86575
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86575
	mov	ecx, DWORD PTR _o$81088[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86575
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86573
$L86575:
	xor	eax, eax
$L86573:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81092
	cmp	ecx, 2
	jne	SHORT $L81091
$L81092:

; 3885 : 			{
; 3886 : 				Create_2D_Sound_Player(o,soundname);

	mov	ecx, DWORD PTR _soundname$[ebp]
	push	ecx
	push	esi
	call	DWORD PTR ?Create_2D_Sound_Player@@3P6AHPAEPBD@ZA ; Create_2D_Sound_Player
	add	esp, 8
$L81091:

; 3887 : 			}
; 3888 : 		}
; 3889 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81086
$L81087:

; 3890 : 	}
; 3891 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_2D_Sound_Team@@YAXPBDH@Z ENDP			; Create_2D_Sound_Team
_TEXT	ENDS
PUBLIC	?Create_2D_WAV_Sound_Team@@YAXPBDH@Z		; Create_2D_WAV_Sound_Team
; Function compile flags: /Ogty
;	COMDAT ?Create_2D_WAV_Sound_Team@@YAXPBDH@Z
_TEXT	SEGMENT
$T86592 = -4						; size = 4
_o$81101 = -4						; size = 4
_soundname$ = 8						; size = 4
_team$ = 12						; size = 4
?Create_2D_WAV_Sound_Team@@YAXPBDH@Z PROC NEAR		; Create_2D_WAV_Sound_Team, COMDAT

; 3894 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3895 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3896 : 	while (x)

	test	edi, edi
	je	$L81100
	npad	9
$L81099:

; 3897 : 	{
; 3898 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86592[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81104
	test	esi, esi
	je	SHORT $L81104
	mov	ecx, DWORD PTR $T86592[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3899 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81101[ebp], esi
	je	SHORT $L81104

; 3900 : 		{
; 3901 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86606
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86606
	mov	ecx, DWORD PTR _o$81101[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86606
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86604
$L86606:
	xor	eax, eax
$L86604:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81105
	cmp	ecx, 2
	jne	SHORT $L81104
$L81105:

; 3902 : 			{
; 3903 : 				Create_2D_WAV_Sound_Player(o,soundname);

	mov	ecx, DWORD PTR _soundname$[ebp]
	push	ecx
	push	esi
	call	DWORD PTR ?Create_2D_WAV_Sound_Player@@3P6AHPAEPBD@ZA ; Create_2D_WAV_Sound_Player
	add	esp, 8
$L81104:

; 3904 : 			}
; 3905 : 		}
; 3906 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81099
$L81100:

; 3907 : 	}
; 3908 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_2D_WAV_Sound_Team@@YAXPBDH@Z ENDP		; Create_2D_WAV_Sound_Team
_TEXT	ENDS
PUBLIC	?Create_3D_WAV_Sound_At_Bone_Team@@YAXPBDPAE0H@Z ; Create_3D_WAV_Sound_At_Bone_Team
; Function compile flags: /Ogty
;	COMDAT ?Create_3D_WAV_Sound_At_Bone_Team@@YAXPBDPAE0H@Z
_TEXT	SEGMENT
$T86623 = -4						; size = 4
_o$81118 = -4						; size = 4
_soundname$ = 8						; size = 4
_obj$ = 12						; size = 4
_bonename$ = 16						; size = 4
_team$ = 20						; size = 4
?Create_3D_WAV_Sound_At_Bone_Team@@YAXPBDPAE0H@Z PROC NEAR ; Create_3D_WAV_Sound_At_Bone_Team, COMDAT

; 3911 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L81117
	test	esi, esi
	je	$L81117

; 3913 : 	{
; 3914 : 		return;
; 3915 : 	}
; 3916 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A ; SmartGameObjList
	mov	edi, DWORD PTR [ecx+4]

; 3917 : 	while (x)

	test	edi, edi
	je	$L81117
	npad	9
$L81116:

; 3918 : 	{
; 3919 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86623[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81121
	test	esi, esi
	je	SHORT $L81121
	mov	ecx, DWORD PTR $T86623[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3920 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81118[ebp], esi
	je	SHORT $L81121

; 3921 : 		{
; 3922 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86637
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86637
	mov	ecx, DWORD PTR _o$81118[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86637
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86635
$L86637:
	xor	eax, eax
$L86635:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81122
	cmp	ecx, 2
	jne	SHORT $L81121
$L81122:

; 3923 : 			{
; 3924 : 				Create_3D_WAV_Sound_At_Bone_Player(o,soundname,obj,bonename);

	mov	edx, DWORD PTR _bonename$[ebp]
	mov	eax, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR _soundname$[ebp]
	push	edx
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR ?Create_3D_WAV_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA ; Create_3D_WAV_Sound_At_Bone_Player
	add	esp, 16					; 00000010H
$L81121:

; 3925 : 			}
; 3926 : 		}
; 3927 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81116
$L81117:

; 3928 : 	}
; 3929 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_3D_WAV_Sound_At_Bone_Team@@YAXPBDPAE0H@Z ENDP	; Create_3D_WAV_Sound_At_Bone_Team
_TEXT	ENDS
PUBLIC	?Create_3D_Sound_At_Bone_Team@@YAXPBDPAE0H@Z	; Create_3D_Sound_At_Bone_Team
; Function compile flags: /Ogty
;	COMDAT ?Create_3D_Sound_At_Bone_Team@@YAXPBDPAE0H@Z
_TEXT	SEGMENT
$T86654 = -4						; size = 4
_o$81135 = -4						; size = 4
_soundname$ = 8						; size = 4
_obj$ = 12						; size = 4
_bonename$ = 16						; size = 4
_team$ = 20						; size = 4
?Create_3D_Sound_At_Bone_Team@@YAXPBDPAE0H@Z PROC NEAR	; Create_3D_Sound_At_Bone_Team, COMDAT

; 3932 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L81134
	test	esi, esi
	je	$L81134

; 3934 : 	{
; 3935 : 		return;
; 3936 : 	}
; 3937 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A ; SmartGameObjList
	mov	edi, DWORD PTR [ecx+4]

; 3938 : 	while (x)

	test	edi, edi
	je	$L81134
	npad	9
$L81133:

; 3939 : 	{
; 3940 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86654[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81138
	test	esi, esi
	je	SHORT $L81138
	mov	ecx, DWORD PTR $T86654[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3941 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81135[ebp], esi
	je	SHORT $L81138

; 3942 : 		{
; 3943 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86668
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86668
	mov	ecx, DWORD PTR _o$81135[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86668
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86666
$L86668:
	xor	eax, eax
$L86666:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81139
	cmp	ecx, 2
	jne	SHORT $L81138
$L81139:

; 3944 : 			{
; 3945 : 				Create_3D_Sound_At_Bone_Player(o,soundname,obj,bonename);

	mov	edx, DWORD PTR _bonename$[ebp]
	mov	eax, DWORD PTR _obj$[ebp]
	mov	ecx, DWORD PTR _soundname$[ebp]
	push	edx
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR ?Create_3D_Sound_At_Bone_Player@@3P6AHPAEPBD01@ZA ; Create_3D_Sound_At_Bone_Player
	add	esp, 16					; 00000010H
$L81138:

; 3946 : 			}
; 3947 : 		}
; 3948 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81133
$L81134:

; 3949 : 	}
; 3950 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_3D_Sound_At_Bone_Team@@YAXPBDPAE0H@Z ENDP	; Create_3D_Sound_At_Bone_Team
_TEXT	ENDS
PUBLIC	?Set_Display_Color_Team@@YAXEEEH@Z		; Set_Display_Color_Team
; Function compile flags: /Ogty
;	COMDAT ?Set_Display_Color_Team@@YAXEEEH@Z
_TEXT	SEGMENT
$T86685 = -4						; size = 4
_o$81150 = -4						; size = 4
_red$ = 8						; size = 1
_green$ = 12						; size = 1
_blue$ = 16						; size = 1
_team$ = 20						; size = 4
?Set_Display_Color_Team@@YAXEEEH@Z PROC NEAR		; Set_Display_Color_Team, COMDAT

; 3953 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3954 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3955 : 	while (x)

	test	edi, edi
	je	$L81149
	npad	9
$L81148:

; 3956 : 	{
; 3957 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86685[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81153
	test	esi, esi
	je	SHORT $L81153
	mov	ecx, DWORD PTR $T86685[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3958 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81150[ebp], esi
	je	SHORT $L81153

; 3959 : 		{
; 3960 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86699
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86699
	mov	ecx, DWORD PTR _o$81150[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86699
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86697
$L86699:
	xor	eax, eax
$L86697:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81154
	cmp	ecx, 2
	jne	SHORT $L81153
$L81154:

; 3961 : 			{
; 3962 : 				Set_Display_Color_Player(o,red,green,blue);

	mov	ecx, DWORD PTR _blue$[ebp]
	mov	edx, DWORD PTR _green$[ebp]
	mov	eax, DWORD PTR _red$[ebp]
	push	ecx
	push	edx
	push	eax
	push	esi
	call	DWORD PTR ?Set_Display_Color_Player@@3P6AXPAEEEE@ZA ; Set_Display_Color_Player
	add	esp, 16					; 00000010H
$L81153:

; 3963 : 			}
; 3964 : 		}
; 3965 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81148
$L81149:

; 3966 : 	}
; 3967 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Display_Color_Team@@YAXEEEH@Z ENDP			; Set_Display_Color_Team
_TEXT	ENDS
PUBLIC	?Display_Text_Team@@YAXHH@Z			; Display_Text_Team
; Function compile flags: /Ogty
;	COMDAT ?Display_Text_Team@@YAXHH@Z
_TEXT	SEGMENT
$T86716 = -4						; size = 4
_o$81163 = -4						; size = 4
_strnum$ = 8						; size = 4
_team$ = 12						; size = 4
?Display_Text_Team@@YAXHH@Z PROC NEAR			; Display_Text_Team, COMDAT

; 3970 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3971 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3972 : 	while (x)

	test	edi, edi
	je	$L81162
	npad	9
$L81161:

; 3973 : 	{
; 3974 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86716[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81166
	test	esi, esi
	je	SHORT $L81166
	mov	ecx, DWORD PTR $T86716[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3975 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81163[ebp], esi
	je	SHORT $L81166

; 3976 : 		{
; 3977 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86730
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86730
	mov	ecx, DWORD PTR _o$81163[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86730
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86728
$L86730:
	xor	eax, eax
$L86728:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81167
	cmp	ecx, 2
	jne	SHORT $L81166
$L81167:

; 3978 : 			{
; 3979 : 				Display_Text_Player(o,strnum);

	mov	ecx, DWORD PTR _strnum$[ebp]
	push	ecx
	push	esi
	call	DWORD PTR ?Display_Text_Player@@3P6AXPAEH@ZA ; Display_Text_Player
	add	esp, 8
$L81166:

; 3980 : 			}
; 3981 : 		}
; 3982 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81161
$L81162:

; 3983 : 	}
; 3984 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Display_Text_Team@@YAXHH@Z ENDP			; Display_Text_Team
_TEXT	ENDS
PUBLIC	?Display_Int_Team@@YAXHPBDH@Z			; Display_Int_Team
; Function compile flags: /Ogty
;	COMDAT ?Display_Int_Team@@YAXHPBDH@Z
_TEXT	SEGMENT
$T86747 = -4						; size = 4
_o$81177 = -4						; size = 4
_num$ = 8						; size = 4
_msg$ = 12						; size = 4
_team$ = 16						; size = 4
?Display_Int_Team@@YAXHPBDH@Z PROC NEAR			; Display_Int_Team, COMDAT

; 3987 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 3988 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 3989 : 	while (x)

	test	edi, edi
	je	$L81176
	npad	9
$L81175:

; 3990 : 	{
; 3991 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86747[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81180
	test	esi, esi
	je	SHORT $L81180
	mov	ecx, DWORD PTR $T86747[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 3992 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81177[ebp], esi
	je	SHORT $L81180

; 3993 : 		{
; 3994 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86761
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86761
	mov	ecx, DWORD PTR _o$81177[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86761
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86759
$L86761:
	xor	eax, eax
$L86759:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81181
	cmp	ecx, 2
	jne	SHORT $L81180
$L81181:

; 3995 : 			{
; 3996 : 				Display_Int_Player(o,num,msg);

	mov	ecx, DWORD PTR _msg$[ebp]
	mov	edx, DWORD PTR _num$[ebp]
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR ?Display_Int_Player@@3P6AXPAEHPBD@ZA ; Display_Int_Player
	add	esp, 12					; 0000000cH
$L81180:

; 3997 : 			}
; 3998 : 		}
; 3999 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81175
$L81176:

; 4000 : 	}
; 4001 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Display_Int_Team@@YAXHPBDH@Z ENDP			; Display_Int_Team
_TEXT	ENDS
PUBLIC	?Display_Float_Team@@YAXMPBDH@Z			; Display_Float_Team
; Function compile flags: /Ogty
;	COMDAT ?Display_Float_Team@@YAXMPBDH@Z
_TEXT	SEGMENT
$T86778 = -4						; size = 4
_o$81191 = -4						; size = 4
_num$ = 8						; size = 4
_msg$ = 12						; size = 4
_team$ = 16						; size = 4
?Display_Float_Team@@YAXMPBDH@Z PROC NEAR		; Display_Float_Team, COMDAT

; 4004 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 4005 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 4006 : 	while (x)

	test	edi, edi
	je	$L81190
	npad	9
$L81189:

; 4007 : 	{
; 4008 : 		GameObject *o = As_SmartGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T86778[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81194
	test	esi, esi
	je	SHORT $L81194
	mov	ecx, DWORD PTR $T86778[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+44]
	call	eax
	mov	esi, eax

; 4009 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81191[ebp], esi
	je	SHORT $L81194

; 4010 : 		{
; 4011 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86792
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86792
	mov	ecx, DWORD PTR _o$81191[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86792
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86790
$L86792:
	xor	eax, eax
$L86790:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81195
	cmp	ecx, 2
	jne	SHORT $L81194
$L81195:

; 4012 : 			{
; 4013 : 				Display_Float_Player(o,num,msg);

	mov	ecx, DWORD PTR _msg$[ebp]
	mov	edx, DWORD PTR _num$[ebp]
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR ?Display_Float_Player@@3P6AXPAEMPBD@ZA ; Display_Float_Player
	add	esp, 12					; 0000000cH
$L81194:

; 4014 : 			}
; 4015 : 		}
; 4016 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81189
$L81190:

; 4017 : 	}
; 4018 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Display_Float_Team@@YAXMPBDH@Z ENDP			; Display_Float_Team
_TEXT	ENDS
PUBLIC	?Attach_Script_Preset@@YAXPBD00H@Z		; Attach_Script_Preset
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Preset@@YAXPBD00H@Z
_TEXT	SEGMENT
_o$81404 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_preset$ = 16						; size = 4
_team$ = 20						; size = 4
?Attach_Script_Preset@@YAXPBD00H@Z PROC NEAR		; Attach_Script_Preset, COMDAT

; 4201 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4203 : 	while (x)

	test	edi, edi
	je	$L81403
$L81402:

; 4204 : 	{
; 4205 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 4206 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81404[ebp], esi
	je	$L81409
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81409
	mov	ecx, DWORD PTR _o$81404[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L81409

; 4207 : 		{
; 4208 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86814
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L86812
$L86814:
	xor	ecx, ecx
$L86812:

; 4209 : 			if (!stricmp(d->Get_Name(),preset))

	mov	eax, DWORD PTR _preset$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81409

; 4210 : 			{
; 4211 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86829
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86829
	mov	ecx, DWORD PTR _o$81404[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86829
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86827
$L86829:
	xor	eax, eax
$L86827:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81410
	cmp	ecx, 2
	jne	SHORT $L81409
$L81410:

; 4212 : 				{
; 4213 : 					Commands->Attach_Script(o,script,params);

	mov	edx, DWORD PTR _params$[ebp]
	mov	eax, DWORD PTR _script$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	eax
	push	esi
	call	DWORD PTR [ecx+120]
	add	esp, 12					; 0000000cH
$L81409:

; 4214 : 				}
; 4215 : 			}
; 4216 : 		}
; 4217 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81402
$L81403:

; 4218 : 	}
; 4219 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Preset@@YAXPBD00H@Z ENDP			; Attach_Script_Preset
_TEXT	ENDS
PUBLIC	?Attach_Script_Type@@YAXPBD0KH@Z		; Attach_Script_Type
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Type@@YAXPBD0KH@Z
_TEXT	SEGMENT
_o$81421 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_type$ = 16						; size = 4
_team$ = 20						; size = 4
?Attach_Script_Type@@YAXPBD0KH@Z PROC NEAR		; Attach_Script_Type, COMDAT

; 4222 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4224 : 	while (x)

	test	edi, edi
	je	$L81420
$L81419:

; 4225 : 	{
; 4226 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 4227 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81421[ebp], esi
	je	$L81426
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81426
	mov	ecx, DWORD PTR _o$81421[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L81426

; 4228 : 		{
; 4229 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86851
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L86849
$L86851:
	xor	ecx, ecx
$L86849:

; 4230 : 			if (d->Get_Class_ID() == type)

	mov	eax, DWORD PTR [ecx]
	call	DWORD PTR [eax+32]
	cmp	eax, DWORD PTR _type$[ebp]
	jne	SHORT $L81426

; 4231 : 			{
; 4232 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86866
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86866
	mov	ecx, DWORD PTR _o$81421[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86866
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86864
$L86866:
	xor	eax, eax
$L86864:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81427
	cmp	ecx, 2
	jne	SHORT $L81426
$L81427:

; 4233 : 				{
; 4234 : 					Commands->Attach_Script(o,script,params);

	mov	eax, DWORD PTR _params$[ebp]
	mov	ecx, DWORD PTR _script$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR [edx+120]
	add	esp, 12					; 0000000cH
$L81426:

; 4235 : 				}
; 4236 : 			}
; 4237 : 		}
; 4238 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81419
$L81420:

; 4239 : 	}
; 4240 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Type@@YAXPBD0KH@Z ENDP			; Attach_Script_Type
_TEXT	ENDS
PUBLIC	?Copy_Transform@@YAXPAE0@Z			; Copy_Transform
; Function compile flags: /Ogty
;	COMDAT ?Copy_Transform@@YAXPAE0@Z
_TEXT	SEGMENT
_i2$ = -8						; size = 4
_o2$ = -4						; size = 4
_in$ = 8						; size = 4
_out$ = 12						; size = 4
?Copy_Transform@@YAXPAE0@Z PROC NEAR			; Copy_Transform, COMDAT

; 4243 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 4244 : 	if (!Commands->Get_ID(in) || !in || !Commands->Get_ID(out) || !out)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	push	edi
	mov	edi, DWORD PTR _in$[ebp]
	push	edi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81433
	test	edi, edi
	je	SHORT $L81433
	mov	esi, DWORD PTR _out$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81433
	test	esi, esi
	je	SHORT $L81433

; 4245 : 	{
; 4246 : 		return;
; 4247 : 	}
; 4248 : 	GameObject *i2 = As_PhysicalGameObj(in);

	push	edi
	call	?As_PhysicalGameObj@@YAPAEPAE@Z		; As_PhysicalGameObj
	add	esp, 4

; 4249 : 	if (!i2)

	test	eax, eax
	mov	DWORD PTR _i2$[ebp], eax
	je	SHORT $L81433

; 4250 : 	{
; 4251 : 		return;
; 4252 : 	}
; 4253 : 	GameObject *o2 = As_PhysicalGameObj(out);

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

; 4254 : 	if (!o2)

	test	eax, eax
	mov	DWORD PTR _o2$[ebp], eax
	je	SHORT $L81433

; 4255 : 	{
; 4256 : 		return;
; 4257 : 	}
; 4258 : #ifdef WIN32
; 4259 : 	_asm {
; 4260 : 		mov ecx,i2

	mov	ecx, DWORD PTR _i2$[ebp]

; 4261 : 		mov ebx,Get_Transform

	mov	ebx, DWORD PTR ?Get_Transform@@3P6APAUMatrix3D@@XZA ; Get_Transform

; 4262 : 		call ebx

	call	ebx

; 4263 : 		push eax

	push	eax

; 4264 : 		mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 4265 : 		mov ebx,Set_Transform

	mov	ebx, DWORD PTR ?Set_Transform@@3P6AXPAUMatrix3D@@@ZA ; Set_Transform

; 4266 : 		call ebx

	call	ebx
$L81433:

; 4267 : 	}
; 4268 : #else
; 4269 : 	Set_Transform(o2,Get_Transform(i2));
; 4270 : #endif
; 4271 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Copy_Transform@@YAXPAE0@Z ENDP				; Copy_Transform
_TEXT	ENDS
PUBLIC	?GetBullets@@YAHPAK@Z				; GetBullets
; Function compile flags: /Ogty
;	COMDAT ?GetBullets@@YAHPAK@Z
_TEXT	SEGMENT
_c$ = 8							; size = 4
_wc$ = 8						; size = 4
?GetBullets@@YAHPAK@Z PROC NEAR				; GetBullets, COMDAT

; 4293 : {

	push	ebp
	mov	ebp, esp

; 4294 : 	unsigned char *c = (unsigned char *)wc;
; 4295 : 	c+=0x24;

	mov	eax, DWORD PTR _wc$[ebp]
	add	eax, 36					; 00000024H
	mov	DWORD PTR _c$[ebp], eax

; 4296 : #ifdef WIN32
; 4297 : 	_asm {
; 4298 : 		mov ecx, c

	mov	ecx, DWORD PTR _c$[ebp]

; 4299 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4300 : 	}
; 4301 : #else
; 4302 : 	return *(int *)c;
; 4303 : #endif
; 4304 : }

	pop	ebp
	ret	0
?GetBullets@@YAHPAK@Z ENDP				; GetBullets
_TEXT	ENDS
PUBLIC	?GetClipBullets@@YAHPAK@Z			; GetClipBullets
; Function compile flags: /Ogty
;	COMDAT ?GetClipBullets@@YAHPAK@Z
_TEXT	SEGMENT
_c$ = 8							; size = 4
_wc$ = 8						; size = 4
?GetClipBullets@@YAHPAK@Z PROC NEAR			; GetClipBullets, COMDAT

; 4307 : {

	push	ebp
	mov	ebp, esp

; 4308 : 	unsigned char *c = (unsigned char *)wc;
; 4309 : 	c+=0x28;

	mov	eax, DWORD PTR _wc$[ebp]
	add	eax, 40					; 00000028H
	mov	DWORD PTR _c$[ebp], eax

; 4310 : #ifdef WIN32
; 4311 : 	_asm {
; 4312 : 		mov ecx, c

	mov	ecx, DWORD PTR _c$[ebp]

; 4313 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4314 : 	}
; 4315 : #else
; 4316 : 	return *(int *)c;
; 4317 : #endif
; 4318 : }

	pop	ebp
	ret	0
?GetClipBullets@@YAHPAK@Z ENDP				; GetClipBullets
_TEXT	ENDS
PUBLIC	?GetMaxBullets@@YAHPAK@Z			; GetMaxBullets
; Function compile flags: /Ogty
;	COMDAT ?GetMaxBullets@@YAHPAK@Z
_TEXT	SEGMENT
_c$ = 8							; size = 4
_wc$ = 8						; size = 4
?GetMaxBullets@@YAHPAK@Z PROC NEAR			; GetMaxBullets, COMDAT

; 4321 : {

	push	ebp
	mov	ebp, esp

; 4322 : 	DefinitionClass *d = *(DefinitionClass **)wc;
; 4323 : 	char *c = (char *)d;
; 4324 : 	c+=0x74;

	mov	eax, DWORD PTR _wc$[ebp]
	mov	ecx, DWORD PTR [eax]
	add	ecx, 116				; 00000074H
	mov	DWORD PTR _c$[ebp], ecx

; 4325 : #ifdef WIN32
; 4326 : 	_asm {
; 4327 : 		mov ecx, c

	mov	ecx, DWORD PTR _c$[ebp]

; 4328 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4329 : 	}
; 4330 : #else
; 4331 : 	return *(int *)c;
; 4332 : #endif
; 4333 : }

	pop	ebp
	ret	0
?GetMaxBullets@@YAHPAK@Z ENDP				; GetMaxBullets
_TEXT	ENDS
PUBLIC	?GetMaxClipBullets@@YAHPAK@Z			; GetMaxClipBullets
; Function compile flags: /Ogty
;	COMDAT ?GetMaxClipBullets@@YAHPAK@Z
_TEXT	SEGMENT
_c$ = 8							; size = 4
_wc$ = 8						; size = 4
?GetMaxClipBullets@@YAHPAK@Z PROC NEAR			; GetMaxClipBullets, COMDAT

; 4336 : {

	push	ebp
	mov	ebp, esp

; 4337 : 	DefinitionClass *d = *(DefinitionClass **)wc;
; 4338 : 	char *c = (char *)d;
; 4339 : 	c+=0x84;

	mov	eax, DWORD PTR _wc$[ebp]
	mov	ecx, DWORD PTR [eax]
	add	ecx, 132				; 00000084H
	mov	DWORD PTR _c$[ebp], ecx

; 4340 : #ifdef WIN32
; 4341 : 	_asm {
; 4342 : 		mov ecx, c

	mov	ecx, DWORD PTR _c$[ebp]

; 4343 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4344 : 	}
; 4345 : #else
; 4346 : 	return *(int *)c;
; 4347 : #endif
; 4348 : }

	pop	ebp
	ret	0
?GetMaxClipBullets@@YAHPAK@Z ENDP			; GetMaxClipBullets
_TEXT	ENDS
PUBLIC	?Get_Mass@@YAMPAE@Z				; Get_Mass
; Function compile flags: /Ogty
;	COMDAT ?Get_Mass@@YAMPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Mass@@YAMPAE@Z PROC NEAR				; Get_Mass, COMDAT

; 4849 : {

	push	ebp
	mov	ebp, esp

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

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

; 4853 : 	}
; 4854 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 4855 : 	if (!o)

	test	eax, eax

; 4856 : 	{
; 4857 : 		return 0;

	je	SHORT $L81786

; 4858 : 	}
; 4859 : 	o+=0x774;
; 4860 : 	char *p = (char *)*(unsigned int *)o;
; 4861 : #ifdef WIN32
; 4862 : 	p += 0x84;
; 4863 : #else
; 4864 : #ifndef RH8
; 4865 : 	p += 0xA0;
; 4866 : #else
; 4867 : 	p += 0x9C;
; 4868 : #endif
; 4869 : #endif
; 4870 : 	return *(float *)p;

	mov	edx, DWORD PTR [eax+1908]
	fld	DWORD PTR [edx+132]

; 4871 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81786:

; 4851 : 	{
; 4852 : 		return 0;

	fld	DWORD PTR __real@00000000

; 4871 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Get_Mass@@YAMPAE@Z ENDP				; Get_Mass
_TEXT	ENDS
PUBLIC	?Get_Htree_Name@@YAPBDPAE@Z			; Get_Htree_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_Htree_Name@@YAPBDPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Htree_Name@@YAPBDPAE@Z PROC NEAR			; Get_Htree_Name, COMDAT

; 4874 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4876 : 	{
; 4877 : 		return "DUMMY";
; 4878 : 	}
; 4879 : 	GameObject *o = As_PhysicalGameObj(obj);

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

; 4880 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax

; 4881 : 	{
; 4882 : 		return "DUMMY";

	je	SHORT $L81797

; 4883 : 	}
; 4884 : #ifdef WIN32
; 4885 : 	_asm {
; 4886 : 		mov eax,o

	mov	eax, DWORD PTR _o$[ebp]

; 4887 : 		mov ebx,[eax+0x774]

	mov	ebx, DWORD PTR [eax+1908]

; 4888 : 		mov ecx,[ebx+0x3C]

	mov	ecx, DWORD PTR [ebx+60]

; 4889 : 		mov eax,[ecx]

	mov	eax, DWORD PTR [ecx]

; 4890 : 		mov ebx,[eax+0xC8]

	mov	ebx, DWORD PTR [eax+200]

; 4891 : 		call ebx

	call	ebx

; 4892 : 	}
; 4893 : #else
; 4894 : 	o+=0x774;
; 4895 : 	char *p = (char *)*(unsigned int *)o;
; 4896 : 	p+=0x54;
; 4897 : 	char *r = (char *)*(unsigned int *)p;
; 4898 : #ifndef RH8
; 4899 : 	r += 0x1C;
; 4900 : #endif
; 4901 : 	char *v = (char *)*(unsigned int *)r;
; 4902 : #ifndef RH8
; 4903 : 	r -= 0x1C;
; 4904 : 	v += 4;
; 4905 : #endif
; 4906 : 	v += 0xCC;
; 4907 : 	Get_Htree *h = (Get_Htree*)v;
; 4908 : 	Get_Htree gh = (Get_Htree)*h;
; 4909 : 	const char *c = gh(r);
; 4910 : 	return c;
; 4911 : #endif
; 4912 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L81797:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_05FAECCOPD@DUMMY?$AA@
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Htree_Name@@YAPBDPAE@Z ENDP			; Get_Htree_Name
_TEXT	ENDS
PUBLIC	?Get_Sex@@YADPAE@Z				; Get_Sex
; Function compile flags: /Ogty
;	COMDAT ?Get_Sex@@YADPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Sex@@YADPAE@Z PROC NEAR				; Get_Sex, COMDAT

; 4916 : 	return Get_Htree_Name(obj)[2];

	mov	eax, DWORD PTR _obj$[esp-4]
	push	eax
	call	?Get_Htree_Name@@YAPBDPAE@Z		; Get_Htree_Name
	mov	al, BYTE PTR [eax+2]
	add	esp, 4

; 4917 : }

	ret	0
?Get_Sex@@YADPAE@Z ENDP					; Get_Sex
_TEXT	ENDS
PUBLIC	?Damage_Objects_Half@@YAXXZ			; Damage_Objects_Half
PUBLIC	__real@3f000000
PUBLIC	??_C@_04OHJIHAFH@None?$AA@			; `string'
;	COMDAT __real@3f000000
CONST	SEGMENT
__real@3f000000 DD 03f000000r			; 0.5
CONST	ENDS
;	COMDAT ??_C@_04OHJIHAFH@None?$AA@
CONST	SEGMENT
??_C@_04OHJIHAFH@None?$AA@ DB 'None', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Damage_Objects_Half@@YAXXZ
_TEXT	SEGMENT
tv197 = -4						; size = 4
_obj$81838 = -4						; size = 4
?Damage_Objects_Half@@YAXXZ PROC NEAR			; Damage_Objects_Half, COMDAT

; 4956 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 4957 : 	GenericSLNode *z = BaseGameObjList->HeadNode;

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

; 4958 : 	while (z)

	test	edi, edi
	je	$L81837
$L81836:

; 4959 : 	{
; 4960 : 		GameObject *obj = (GameObject *)z->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 4961 : 		if (obj)

	test	esi, esi
	mov	DWORD PTR _obj$81838[ebp], esi
	je	$L81841

; 4962 : 		{
; 4963 : 			if (As_SoldierGameObj(obj) || As_VehicleGameObj(obj))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86921
	mov	ecx, DWORD PTR _obj$81838[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	test	eax, eax
	jne	SHORT $L81842
$L86921:
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81841
	mov	ecx, DWORD PTR _obj$81838[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	test	eax, eax
	je	SHORT $L81841
$L81842:

; 4964 : 			{
; 4965 : 				float Health = Commands->Get_Max_Health(obj) + Commands->Get_Max_Shield_Strength(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+236]
	fstp	DWORD PTR tv197[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+224]
	fadd	DWORD PTR tv197[ebp]

; 4966 : 				Commands->Apply_Damage(obj,(Health / 2),"None",0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 8
	fmul	DWORD PTR __real@3f000000
	push	0
	push	OFFSET FLAT:??_C@_04OHJIHAFH@None?$AA@
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [edx+616]
	add	esp, 16					; 00000010H
$L81841:

; 4967 : 			}
; 4968 : 		}
; 4969 : 		z = z->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81836
$L81837:

; 4970 : 	}
; 4971 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Damage_Objects_Half@@YAXXZ ENDP			; Damage_Objects_Half
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Return@@YAPAEPAE@Z			; Get_Vehicle_Return
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Return@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Return@@YAPAEPAE@Z PROC NEAR		; Get_Vehicle_Return, COMDAT

; 4974 : {

	push	ebp
	mov	ebp, esp

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

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

; 4978 : 	}
; 4979 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 4980 : 	if (o)

	test	eax, eax
	je	SHORT $L81848

; 4981 : 	{
; 4982 : 		char *c = (char *)o;
; 4983 : 		c += 0x98C;
; 4984 : 		unsigned long *l = (unsigned long *)c;
; 4985 : 		GameObject *vehicle = (GameObject *)*l;

	mov	eax, DWORD PTR [eax+2444]

; 4986 : 		if (vehicle)

	test	eax, eax
	je	SHORT $L81848

; 4987 : 		{
; 4988 : 			GameObject *v = As_VehicleGameObj(vehicle);

	push	eax
	call	?As_VehicleGameObj@@YAPAEPAE@Z		; As_VehicleGameObj
	add	esp, 4

; 4989 : 			return v;
; 4990 : 		}
; 4991 : 		return obj;
; 4992 : 	}
; 4993 : 	return obj;
; 4994 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81848:

; 4976 : 	{
; 4977 : 		return obj;

	mov	eax, esi

; 4989 : 			return v;
; 4990 : 		}
; 4991 : 		return obj;
; 4992 : 	}
; 4993 : 	return obj;
; 4994 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Return@@YAPAEPAE@Z ENDP			; Get_Vehicle_Return
_TEXT	ENDS
PUBLIC	?Get_Beacon_Count@@YAHH@Z			; Get_Beacon_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Beacon_Count@@YAHH@Z
_TEXT	SEGMENT
_o2$86944 = -12						; size = 4
_o$81867 = -8						; size = 4
_Total$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_Beacon_Count@@YAHH@Z PROC NEAR			; Get_Beacon_Count, COMDAT

; 4997 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH

; 4998 : 	int Total = 0;
; 4999 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5000 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], eax
	je	$L81866
	npad	1
$L81865:

; 5001 : 	{
; 5002 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5003 : 		if (o && As_BeaconGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81867[ebp], esi
	je	$L81872
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81872
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81872
	mov	ecx, DWORD PTR _o$81867[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$86944[ebp], eax
	je	SHORT $L81872
	mov	ecx, DWORD PTR _o2$86944[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+144]
	call	eax
	test	eax, eax
	je	SHORT $L81872

; 5004 : 		{
; 5005 : 			if (Team == 2)

	cmp	DWORD PTR _Team$[ebp], 2

; 5006 : 			{
; 5007 : 				Total++;
; 5008 : 			}
; 5009 : 			else if (Get_Object_Type(o) == Team)

	je	SHORT $L86978
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86960
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L86960
	mov	ecx, DWORD PTR _o$81867[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L86960
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L86958
$L86960:
	xor	eax, eax
$L86958:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L81872
$L86978:

; 5010 : 			{
; 5011 : 				Total++;

	inc	DWORD PTR _Total$[ebp]
$L81872:

; 5012 : 			}
; 5013 : 		}
; 5014 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81865

; 5015 : 	}
; 5016 : 	return Total;

	mov	eax, DWORD PTR _Total$[ebp]
$L81866:

; 5017 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Beacon_Count@@YAHH@Z ENDP				; Get_Beacon_Count
_TEXT	ENDS
PUBLIC	?Find_Beacon@@YAPAEHH@Z				; Find_Beacon
; Function compile flags: /Ogty
;	COMDAT ?Find_Beacon@@YAPAEHH@Z
_TEXT	SEGMENT
_o2$86990 = -12						; size = 4
_o$81885 = -12						; size = 4
_ReturnObj$ = -8					; size = 4
_Total$ = -4						; size = 4
_Number$ = 8						; size = 4
_Team$ = 12						; size = 4
?Find_Beacon@@YAPAEHH@Z PROC NEAR			; Find_Beacon, COMDAT

; 5020 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH

; 5021 : 	if (Number < 0)

	mov	eax, DWORD PTR _Number$[ebp]
	test	eax, eax
	push	ebx
	push	esi
	push	edi

; 5022 : 	{
; 5023 : 		Number = 0;
; 5024 : 	}
; 5025 : 	if (!Number)

	jl	SHORT $L87000
	jne	SHORT $L81878
$L87000:

; 5026 : 	{
; 5027 : 		return 0;

	xor	eax, eax

; 5050 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L81878:

; 5028 : 	}
; 5029 : 	int Total = 0;
; 5030 : 	GameObject *ReturnObj = 0;
; 5031 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5032 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], 0
	mov	DWORD PTR _ReturnObj$[ebp], 0
	je	SHORT $L81884
$L81883:

; 5033 : 	{
; 5034 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5035 : 		if (o && As_BeaconGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81885[ebp], esi
	je	SHORT $L81891
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81891
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81891
	mov	ecx, DWORD PTR _o$81885[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$86990[ebp], eax
	je	SHORT $L81891
	mov	ecx, DWORD PTR _o2$86990[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+144]
	call	eax
	test	eax, eax
	je	SHORT $L81891

; 5036 : 		{
; 5037 : 			if (Team == 2)

	mov	ebx, DWORD PTR _Team$[ebp]
	cmp	ebx, 2

; 5038 : 			{
; 5039 : 				Total++;
; 5040 : 			}
; 5041 : 			else if (Get_Object_Type(o) == Team)

	je	SHORT $L87004
	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	add	esp, 4
	cmp	eax, ebx
	jne	SHORT $L81890
$L87004:

; 5042 : 			{
; 5043 : 				Total++;

	inc	DWORD PTR _Total$[ebp]
$L81890:

; 5044 : 			}
; 5045 : 			if (Total == Number) ReturnObj = o;

	mov	eax, DWORD PTR _Total$[ebp]
	cmp	eax, DWORD PTR _Number$[ebp]
	jne	SHORT $L81891
	mov	DWORD PTR _ReturnObj$[ebp], esi
$L81891:

; 5046 : 		}
; 5047 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L81883
$L81884:

; 5048 : 	}
; 5049 : 	return ReturnObj;

	mov	eax, DWORD PTR _ReturnObj$[ebp]

; 5050 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Beacon@@YAPAEHH@Z ENDP				; Find_Beacon
_TEXT	ENDS
PUBLIC	?Attach_Script_Building@@YAXPBD0H@Z		; Attach_Script_Building
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Building@@YAXPBD0H@Z
_TEXT	SEGMENT
_o$81978 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_team$ = 16						; size = 4
?Attach_Script_Building@@YAXPBD0H@Z PROC NEAR		; Attach_Script_Building, COMDAT

; 5156 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 5157 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 5158 : 	while (x)

	test	edi, edi
	je	$L81977
$L81976:

; 5159 : 	{
; 5160 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5161 : 		if ((o) && As_BuildingGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81978[ebp], esi
	je	SHORT $L81981
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81981
	mov	ecx, DWORD PTR _o$81978[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	test	eax, eax
	je	SHORT $L81981

; 5162 : 		{
; 5163 : 			if ((Get_Object_Type(o) == team) || (team == 2))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87021
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87021
	mov	ecx, DWORD PTR _o$81978[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87021
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87019
$L87021:
	xor	eax, eax
$L87019:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81982
	cmp	ecx, 2
	jne	SHORT $L81981
$L81982:

; 5164 : 			{
; 5165 : 				Commands->Attach_Script(o,script,params);

	mov	ecx, DWORD PTR _params$[ebp]
	mov	edx, DWORD PTR _script$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR [eax+120]
	add	esp, 12					; 0000000cH
$L81981:

; 5166 : 			}
; 5167 : 		}
; 5168 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81976
$L81977:

; 5169 : 	}
; 5170 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Building@@YAXPBD0H@Z ENDP		; Attach_Script_Building
_TEXT	ENDS
PUBLIC	?Attach_Script_Is_Preset@@YAXPAEPBD11H@Z	; Attach_Script_Is_Preset
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Is_Preset@@YAXPAEPBD11H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_preset$ = 12						; size = 4
_script$ = 16						; size = 4
_params$ = 20						; size = 4
_team$ = 24						; size = 4
?Attach_Script_Is_Preset@@YAXPAEPBD11H@Z PROC NEAR	; Attach_Script_Is_Preset, COMDAT

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

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

; 5175 : 	{
; 5176 : 		return;
; 5177 : 	}
; 5178 : 	DefinitionClass *d = Get_Definition(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87041
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L87039
$L87041:
	xor	ecx, ecx
$L87039:

; 5179 : 	if (!stricmp(d->Get_Name(),preset))

	mov	edx, DWORD PTR _preset$[esp]
	mov	eax, DWORD PTR [ecx]
	push	edx
	call	DWORD PTR [eax+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81994

; 5180 : 	{
; 5181 : 		if ((Get_Object_Type(obj) == team) || (team == 2))

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _team$[esp+4]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L81995
	cmp	ecx, 2
	jne	SHORT $L81994
$L81995:

; 5182 : 		{
; 5183 : 			Commands->Attach_Script(obj,script,params);

	mov	ecx, DWORD PTR _params$[esp]
	mov	edx, DWORD PTR _script$[esp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	edx
	push	esi
	call	DWORD PTR [eax+120]
	add	esp, 12					; 0000000cH
$L81994:
	pop	esi

; 5184 : 		}
; 5185 : 	}
; 5186 : }

	ret	0
?Attach_Script_Is_Preset@@YAXPAEPBD11H@Z ENDP		; Attach_Script_Is_Preset
_TEXT	ENDS
PUBLIC	?Attach_Script_Is_Type@@YAXPAEKPBD1H@Z		; Attach_Script_Is_Type
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Is_Type@@YAXPAEKPBD1H@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_type$ = 12						; size = 4
_script$ = 16						; size = 4
_params$ = 20						; size = 4
_team$ = 24						; size = 4
?Attach_Script_Is_Type@@YAXPAEKPBD1H@Z PROC NEAR	; Attach_Script_Is_Type, COMDAT

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

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

; 5191 : 	{
; 5192 : 		return;
; 5193 : 	}
; 5194 : 	DefinitionClass *d = Get_Definition(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87051
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L87049
$L87051:
	xor	ecx, ecx
$L87049:

; 5195 : 	if (d->Get_Class_ID() == type)

	mov	edx, DWORD PTR [ecx]
	call	DWORD PTR [edx+32]
	cmp	eax, DWORD PTR _type$[esp]
	jne	SHORT $L82007

; 5196 : 	{
; 5197 : 		if ((Get_Object_Type(obj) == team) || (team == 2))

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _team$[esp+4]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L82008
	cmp	ecx, 2
	jne	SHORT $L82007
$L82008:

; 5198 : 		{
; 5199 : 			Commands->Attach_Script(obj,script,params);

	mov	eax, DWORD PTR _params$[esp]
	mov	ecx, DWORD PTR _script$[esp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	push	esi
	call	DWORD PTR [edx+120]
	add	esp, 12					; 0000000cH
$L82007:
	pop	esi

; 5200 : 		}
; 5201 : 	}
; 5202 : }

	ret	0
?Attach_Script_Is_Type@@YAXPAEKPBD1H@Z ENDP		; Attach_Script_Is_Type
_TEXT	ENDS
PUBLIC	?Is_A_Building@@YA_NPAE@Z			; Is_A_Building
; Function compile flags: /Ogty
;	COMDAT ?Is_A_Building@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_A_Building@@YA_NPAE@Z PROC NEAR			; Is_A_Building, COMDAT

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

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

; 5209 : 	}
; 5210 : 	if ((Is_Building(obj)) || (Is_PowerPlant(obj)) || (Is_SoldierFactory(obj)) || (Is_VehicleFactory(obj)) || (Is_Airstrip(obj)) || (Is_WarFactory(obj)) || (Is_Refinery(obj)) || (Is_ComCenter(obj)) || (Is_RepairBay(obj)))

	push	esi
	call	?Is_Building@@YA_NPAE@Z			; Is_Building
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_PowerPlant@@YA_NPAE@Z		; Is_PowerPlant
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_SoldierFactory@@YA_NPAE@Z		; Is_SoldierFactory
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_VehicleFactory@@YA_NPAE@Z		; Is_VehicleFactory
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_Airstrip@@YA_NPAE@Z			; Is_Airstrip
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_WarFactory@@YA_NPAE@Z		; Is_WarFactory
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_Refinery@@YA_NPAE@Z			; Is_Refinery
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_ComCenter@@YA_NPAE@Z		; Is_ComCenter
	add	esp, 4
	test	al, al
	jne	SHORT $L82015
	push	esi
	call	?Is_RepairBay@@YA_NPAE@Z		; Is_RepairBay
	add	esp, 4
	test	al, al

; 5213 : 	}
; 5214 : 	return false;

	je	SHORT $L82013
$L82015:

; 5211 : 	{
; 5212 : 		return true;

	mov	al, 1
	pop	esi

; 5215 : }

	ret	0
$L82013:

; 5207 : 	{
; 5208 : 		return false;

	xor	al, al
	pop	esi

; 5215 : }

	ret	0
?Is_A_Building@@YA_NPAE@Z ENDP				; Is_A_Building
_TEXT	ENDS
PUBLIC	?Find_Closest_Non_Building_Object_By_Team@@YAPAEHUVector3@@@Z ; Find_Closest_Non_Building_Object_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Closest_Non_Building_Object_By_Team@@YAPAEHUVector3@@@Z
_TEXT	SEGMENT
$T87060 = -36						; size = 12
_pos$82030 = -24					; size = 12
_closest$ = -12						; size = 4
_closestdist$ = -8					; size = 4
_o$82026 = -4						; size = 4
_Team$ = 8						; size = 4
_position$ = 12						; size = 12
?Find_Closest_Non_Building_Object_By_Team@@YAPAEHUVector3@@@Z PROC NEAR ; Find_Closest_Non_Building_Object_By_Team, COMDAT

; 5218 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 36					; 00000024H

; 5219 : 	float closestdist = FLT_MAX;
; 5220 : 	GameObject *closest = 0;
; 5221 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5222 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _closestdist$[ebp], 2139095039 ; 7f7fffffH
	mov	DWORD PTR _closest$[ebp], eax
	je	$L82025
$L82024:

; 5223 : 	{
; 5224 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5225 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$82026[ebp], esi
	je	$L82033
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82033
	mov	ecx, DWORD PTR _o$82026[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L82033

; 5226 : 		{
; 5227 : 			if ((Get_Object_Type(o) == Team) && !Is_A_Building(o))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87080
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87080
	mov	ecx, DWORD PTR _o$82026[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87080
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87078
$L87080:
	xor	eax, eax
$L87078:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L82033
	push	esi
	call	?Is_A_Building@@YA_NPAE@Z		; Is_A_Building
	add	esp, 4
	test	al, al
	jne	SHORT $L82033

; 5228 : 			{
; 5229 : 				Vector3 pos = Commands->Get_Position(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T87060[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$82030[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$82030[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]

; 5230 : 				float dist = Commands->Get_Distance(pos,position);

	lea	ecx, DWORD PTR _position$[ebp]
	push	ecx
	lea	edx, DWORD PTR _pos$82030[ebp]
	mov	DWORD PTR _pos$82030[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 5231 : 				if (dist < closestdist)

	fcom	DWORD PTR _closestdist$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L87091

; 5232 : 				{
; 5233 : 					closestdist = dist;

	fstp	DWORD PTR _closestdist$[ebp]

; 5234 : 					closest = o;

	mov	DWORD PTR _closest$[ebp], esi
	jmp	SHORT $L82033
$L87091:
	fstp	ST(0)
$L82033:

; 5235 : 				}
; 5236 : 			}
; 5237 : 		}
; 5238 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82024

; 5239 : 	}
; 5240 : 	return closest;

	mov	eax, DWORD PTR _closest$[ebp]
$L82025:

; 5241 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Closest_Non_Building_Object_By_Team@@YAPAEHUVector3@@@Z ENDP ; Find_Closest_Non_Building_Object_By_Team
_TEXT	ENDS
PUBLIC	?Get_Fly_Mode@@YA_NPAE@Z			; Get_Fly_Mode
; Function compile flags: /Ogty
;	COMDAT ?Get_Fly_Mode@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Fly_Mode@@YA_NPAE@Z PROC NEAR			; Get_Fly_Mode, COMDAT

; 5244 : {

	push	ebp
	mov	ebp, esp

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

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

; 5246 : 	{
; 5247 : 		return false;
; 5248 : 	}
; 5249 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 5250 : 	if (!o)

	test	eax, eax

; 5251 : 	{
; 5252 : 		return false;

	je	SHORT $L82038

; 5253 : 	}
; 5254 : 	char *c = (char *)obj;
; 5255 : 	c += 0xD24;
; 5256 : 	return *(bool *)c;

	mov	al, BYTE PTR [esi+3364]

; 5257 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82038:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Get_Fly_Mode@@YA_NPAE@Z ENDP				; Get_Fly_Mode
_TEXT	ENDS
PUBLIC	?Is_Stealth@@YA_NPAE@Z				; Is_Stealth
; Function compile flags: /Ogty
;	COMDAT ?Is_Stealth@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Stealth@@YA_NPAE@Z PROC NEAR			; Is_Stealth, COMDAT

; 5260 : {

	push	ebp
	mov	ebp, esp

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

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

; 5262 : 	{
; 5263 : 		return false;
; 5264 : 	}
; 5265 : 	GameObject *o = As_SmartGameObj(obj);

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

; 5266 : 	if (!o)

	test	eax, eax

; 5267 : 	{
; 5268 : 		return false;

	je	SHORT $L82048

; 5269 : 	}
; 5270 : 	char *c = (char *)obj;
; 5271 : 	c += 0x83D;
; 5272 : 	return *(bool *)c;

	mov	al, BYTE PTR [esi+2109]

; 5273 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82048:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Stealth@@YA_NPAE@Z ENDP				; Is_Stealth
_TEXT	ENDS
PUBLIC	?Send_Custom_All_Objects_Area@@YAXHABUVector3@@MPAEH@Z ; Send_Custom_All_Objects_Area
; Function compile flags: /Ogty
;	COMDAT ?Send_Custom_All_Objects_Area@@YAXHABUVector3@@MPAEH@Z
_TEXT	SEGMENT
$T87113 = -40						; size = 12
_ObjPosition$82070 = -28				; size = 12
_TestPosition$82072 = -16				; size = 12
_obj$82067 = -4						; size = 4
_message$ = 8						; size = 4
_Position$ = 12						; size = 4
_Distance$ = 16						; size = 4
_sender$ = 20						; size = 4
_team$ = 24						; size = 4
?Send_Custom_All_Objects_Area@@YAXHABUVector3@@MPAEH@Z PROC NEAR ; Send_Custom_All_Objects_Area, COMDAT

; 5276 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _sender$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L82066
	test	esi, esi
	je	$L82066

; 5278 : 	{
; 5279 : 		return;
; 5280 : 	}
; 5281 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5282 : 	while (x) 

	test	edi, edi
	je	$L82066
	npad	7
$L82065:

; 5283 : 	{
; 5284 : 		GameObject *obj = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5285 : 		if (obj && As_ScriptableGameObj(obj))

	test	esi, esi
	mov	DWORD PTR _obj$82067[ebp], esi
	je	$L82074
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82074
	mov	ecx, DWORD PTR _obj$82067[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L82074

; 5286 : 		{
; 5287 : 			Vector3 ObjPosition = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T87113[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$82070[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _ObjPosition$82070[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 5288 : 			Vector3 TestPosition = Position;

	mov	eax, DWORD PTR _Position$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$82070[ebp+8], edx
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _TestPosition$82072[ebp], ecx

; 5289 : 			ObjPosition.Z = 0;
; 5290 : 			TestPosition.Z = 0;
; 5291 : 			if ((Commands->Get_Distance(ObjPosition,TestPosition) <= Distance))

	lea	ecx, DWORD PTR _TestPosition$82072[ebp]
	mov	DWORD PTR _TestPosition$82072[ebp+4], edx
	mov	DWORD PTR _TestPosition$82072[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	lea	edx, DWORD PTR _ObjPosition$82070[ebp]
	push	edx
	mov	DWORD PTR _ObjPosition$82070[ebp+8], 0
	mov	DWORD PTR _TestPosition$82072[ebp+8], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _Distance$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L82074

; 5292 : 			{
; 5293 : 				if ((Get_Object_Type(obj) == team) || (team == 2))

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _team$[ebp]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L82075
	cmp	ecx, 2
	jne	SHORT $L82074
$L82075:

; 5294 : 				{
; 5295 : 					Commands->Send_Custom_Event(sender,obj,message,0,0);

	mov	ecx, DWORD PTR _message$[ebp]
	mov	edx, DWORD PTR _sender$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ecx
	push	esi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L82074:

; 5296 : 				}
; 5297 : 			}
; 5298 : 		}
; 5299 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82065
$L82066:

; 5300 : 	}
; 5301 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Custom_All_Objects_Area@@YAXHABUVector3@@MPAEH@Z ENDP ; Send_Custom_All_Objects_Area
_TEXT	ENDS
PUBLIC	?Send_Custom_All_Objects@@YAXHPAEH@Z		; Send_Custom_All_Objects
; Function compile flags: /Ogty
;	COMDAT ?Send_Custom_All_Objects@@YAXHPAEH@Z
_TEXT	SEGMENT
_obj$82087 = -4						; size = 4
_message$ = 8						; size = 4
_sender$ = 12						; size = 4
_team$ = 16						; size = 4
?Send_Custom_All_Objects@@YAXHPAEH@Z PROC NEAR		; Send_Custom_All_Objects, COMDAT

; 5304 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _sender$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82086
	test	esi, esi
	je	SHORT $L82086

; 5306 : 	{
; 5307 : 		return;
; 5308 : 	}
; 5309 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5310 : 	while (x) 

	test	edi, edi
	je	SHORT $L82086
	npad	5
$L82085:

; 5311 : 	{
; 5312 : 		GameObject *obj = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5313 : 		if (obj && As_ScriptableGameObj(obj))

	test	esi, esi
	mov	DWORD PTR _obj$82087[ebp], esi
	je	SHORT $L82090
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82090
	mov	ecx, DWORD PTR _obj$82087[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L82090

; 5314 : 		{
; 5315 : 			if ((Get_Object_Type(obj) == team) || (team == 2))

	push	esi
	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _team$[ebp]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L82091
	cmp	ecx, 2
	jne	SHORT $L82090
$L82091:

; 5316 : 			{
; 5317 : 				Commands->Send_Custom_Event(sender,obj,message,0,0);

	mov	eax, DWORD PTR _message$[ebp]
	mov	ecx, DWORD PTR _sender$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	eax
	push	esi
	push	ecx
	call	DWORD PTR [edx+140]
	add	esp, 20					; 00000014H
$L82090:

; 5318 : 			}
; 5319 : 		}
; 5320 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L82085
$L82086:

; 5321 : 	}
; 5322 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Custom_All_Objects@@YAXHPAEH@Z ENDP		; Send_Custom_All_Objects
_TEXT	ENDS
PUBLIC	?Create_Effect_All_Stealthed_Objects_Area@@YAXABUVector3@@MPBD0H@Z ; Create_Effect_All_Stealthed_Objects_Area
; Function compile flags: /Ogty
;	COMDAT ?Create_Effect_All_Stealthed_Objects_Area@@YAXABUVector3@@MPBD0H@Z
_TEXT	SEGMENT
$T87139 = -56						; size = 12
$T87137 = -44						; size = 12
_TestPosition$82108 = -32				; size = 12
_ObjPosition$82106 = -20				; size = 12
_x$ = -8						; size = 4
_obj$82103 = -4						; size = 4
_Position$ = 8						; size = 4
_Distance$ = 12						; size = 4
_object$ = 16						; size = 4
_offset$ = 20						; size = 4
_team$ = 24						; size = 4
?Create_Effect_All_Stealthed_Objects_Area@@YAXABUVector3@@MPBD0H@Z PROC NEAR ; Create_Effect_All_Stealthed_Objects_Area, COMDAT

; 5325 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 56					; 00000038H

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

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

; 5327 : 	while (x) 

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82102
	mov	edi, DWORD PTR _offset$[ebp]
	npad	1
$L82101:

; 5328 : 	{
; 5329 : 		GameObject *obj = (GameObject *)x->NodeData;

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]

; 5330 : 		if (obj && As_ScriptableGameObj(obj))

	test	esi, esi
	mov	DWORD PTR _obj$82103[ebp], esi
	je	$L82113
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82113
	mov	ecx, DWORD PTR _obj$82103[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L82113

; 5331 : 		{
; 5332 : 			Vector3 ObjPosition = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T87137[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$82106[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _ObjPosition$82106[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 5333 : 			Vector3 TestPosition = Position;

	mov	eax, DWORD PTR _Position$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$82106[ebp+8], edx
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _TestPosition$82108[ebp], ecx

; 5334 : 			ObjPosition.Z = 0;
; 5335 : 			TestPosition.Z = 0;
; 5336 : 			if ((Commands->Get_Distance(ObjPosition,TestPosition) <= Distance))

	lea	ecx, DWORD PTR _TestPosition$82108[ebp]
	mov	DWORD PTR _TestPosition$82108[ebp+4], edx
	mov	DWORD PTR _TestPosition$82108[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	lea	edx, DWORD PTR _ObjPosition$82106[ebp]
	push	edx
	mov	DWORD PTR _ObjPosition$82106[ebp+8], 0
	mov	DWORD PTR _TestPosition$82108[ebp+8], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _Distance$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	$L82113

; 5337 : 			{
; 5338 : 				if ((Get_Object_Type(obj) == team) || (team == 2))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87159
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87159
	mov	ecx, DWORD PTR _obj$82103[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87159
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87157
$L87159:
	xor	eax, eax
$L87157:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L82111
	cmp	ecx, 2
	jne	$L82113
$L82111:

; 5339 : 				{
; 5340 : 					bool stealth = Is_Stealth(obj);

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

; 5341 : 					if (stealth)

	mov	al, BYTE PTR [esi+2109]
	test	al, al
	je	SHORT $L82113

; 5342 : 					{
; 5343 : 						ObjPosition = Commands->Get_Position(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T87139[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _ObjPosition$82106[ebp], ecx

; 5344 : 						ObjPosition.X += offset.X;

	fld	DWORD PTR _ObjPosition$82106[ebp]
	mov	edx, DWORD PTR [eax+4]
	fadd	DWORD PTR [edi]
	mov	DWORD PTR _ObjPosition$82106[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]

; 5345 : 						ObjPosition.Y += offset.Y;
; 5346 : 						ObjPosition.Z += offset.Z;
; 5347 : 						Commands->Create_Object(object,ObjPosition);

	mov	edx, DWORD PTR _object$[ebp]
	fstp	DWORD PTR _ObjPosition$82106[ebp]
	fld	DWORD PTR _ObjPosition$82106[ebp+4]
	mov	DWORD PTR _ObjPosition$82106[ebp+8], eax
	fadd	DWORD PTR [edi+4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _ObjPosition$82106[ebp]
	push	ecx
	fstp	DWORD PTR _ObjPosition$82106[ebp+4]
	push	edx
	fld	DWORD PTR _ObjPosition$82106[ebp+8]
	fadd	DWORD PTR [edi+8]
	fstp	DWORD PTR _ObjPosition$82106[ebp+8]
	call	DWORD PTR [eax+100]
	add	esp, 16					; 00000010H
$L82113:

; 5348 : 					}
; 5349 : 				}
; 5350 : 			}
; 5351 : 		}
; 5352 : 		x = x->NodeNext;

	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [ecx]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82101
$L82102:

; 5353 : 	}
; 5354 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_Effect_All_Stealthed_Objects_Area@@YAXABUVector3@@MPBD0H@Z ENDP ; Create_Effect_All_Stealthed_Objects_Area
_TEXT	ENDS
PUBLIC	?Tally_Team_Size@@YAHH@Z			; Tally_Team_Size
; Function compile flags: /Ogty
;	COMDAT ?Tally_Team_Size@@YAHH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Tally_Team_Size@@YAHH@Z PROC NEAR			; Tally_Team_Size, COMDAT

; 5376 : 	return TallyTeamSize(team);

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

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

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

; 5382 : 	teamdata += 0x6C0;
; 5383 : 	return *((float *)teamdata);

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

; 5384 : }

	ret	0
?Get_Team_Score@@YAMH@Z ENDP				; Get_Team_Score
_TEXT	ENDS
PUBLIC	??_C@_0M@PCENNPGA@?$CFd?4?$CFd?4?$CFd?4?$CFd?$AA@ ; `string'
PUBLIC	?Get_IP_Address@@YAPBDH@Z			; Get_IP_Address
EXTRN	_sprintf:NEAR
;	COMDAT ??_C@_0M@PCENNPGA@?$CFd?4?$CFd?4?$CFd?4?$CFd?$AA@
CONST	SEGMENT
??_C@_0M@PCENNPGA@?$CFd?4?$CFd?4?$CFd?4?$CFd?$AA@ DB '%d.%d.%d.%d', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_IP_Address@@YAPBDH@Z
_TEXT	SEGMENT
_addr$ = -8						; size = 4
_noaddr$ = -1						; size = 1
_PlayerID$ = 8						; size = 4
?Get_IP_Address@@YAPBDH@Z PROC NEAR			; Get_IP_Address, COMDAT

; 5387 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8
	push	esi
	push	edi

; 5388 : 	sockaddr_in *addr;
; 5389 : 	bool noaddr = false;

	mov	BYTE PTR _noaddr$[ebp], 0

; 5390 : #ifdef WIN32
; 5391 : 	_asm {
; 5392 : 		push PlayerID

	push	DWORD PTR _PlayerID$[ebp]

; 5393 : 		mov eax,ServerConnection

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection

; 5394 : 		mov ecx,[eax]

	mov	ecx, DWORD PTR [eax]

; 5395 : 		call Get_Remote_Host

	call	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA	; Get_Remote_Host

; 5396 : 		test eax, eax

	test	eax, eax

; 5397 : 		jz loc1

	je	SHORT $loc1$82145

; 5398 : 		mov ecx,eax

	mov	ecx, eax

; 5399 : 		call Get_Address

	call	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA ; Get_Address

; 5400 : 		mov addr,eax

	mov	DWORD PTR _addr$[ebp], eax

; 5401 : 		jmp loc2

	jmp	SHORT $loc2$82146
$loc1$82145:

; 5402 : loc1:
; 5403 : 		mov noaddr,1

	mov	BYTE PTR _noaddr$[ebp], 1
$loc2$82146:

; 5404 : loc2:
; 5405 : 	}
; 5406 : #else
; 5407 : 	char *RemoteHost = Get_Remote_Host(*ServerConnection,PlayerID);
; 5408 : 	if (RemoteHost)
; 5409 : 	{
; 5410 : 		addr = Get_Address(RemoteHost);
; 5411 : 	}
; 5412 : 	else
; 5413 : 	{
; 5414 : 		noaddr = true;
; 5415 : 	}
; 5416 : #endif
; 5417 : 	char *temp;
; 5418 : 	temp = new char[40];

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	test	eax, eax
	jne	SHORT $L87201
	call	_Init
$L87201:
	push	40					; 00000028H
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	mov	edi, eax

; 5419 : 	int ip1,ip2,ip3,ip4;
; 5420 : 	if (!noaddr)

	mov	al, BYTE PTR _noaddr$[ebp]
	add	esp, 4
	test	al, al
	jne	SHORT $L82154

; 5421 : 	{
; 5422 : 		ip1 = addr->sin_addr.s_addr&0x000000FF;

	mov	ecx, DWORD PTR _addr$[ebp]
	mov	eax, DWORD PTR [ecx+4]

; 5423 : 		ip2 = (addr->sin_addr.s_addr&0x0000FF00)>>8;

	movzx	edx, BYTE PTR [ecx+5]

; 5424 : 		ip3 = (addr->sin_addr.s_addr&0x00FF0000)>>16;

	movzx	esi, BYTE PTR [ecx+6]

; 5425 : 		ip4 = (addr->sin_addr.s_addr&0xFF000000)>>24;

	movzx	ecx, BYTE PTR [ecx+7]
	and	eax, 255				; 000000ffH

; 5426 : 	}
; 5427 : 	else

	jmp	SHORT $L82155
$L82154:

; 5428 : 	{
; 5429 : 		ip1 = 0;

	xor	eax, eax

; 5430 : 		ip2 = 0;

	xor	edx, edx

; 5431 : 		ip3 = 0;

	xor	esi, esi

; 5432 : 		ip4 = 0;

	xor	ecx, ecx
$L82155:

; 5433 : 	}
; 5434 : 	sprintf(temp,"%d.%d.%d.%d",ip1,ip2,ip3,ip4);

	push	ecx
	push	esi
	push	edx
	push	eax
	push	OFFSET FLAT:??_C@_0M@PCENNPGA@?$CFd?4?$CFd?4?$CFd?4?$CFd?$AA@
	push	edi
	call	_sprintf
	add	esp, 24					; 00000018H

; 5435 : 	return temp;

	mov	eax, edi

; 5436 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_IP_Address@@YAPBDH@Z ENDP				; Get_IP_Address
_TEXT	ENDS
PUBLIC	?Get_C4_Count@@YAHH@Z				; Get_C4_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Count@@YAHH@Z
_TEXT	SEGMENT
_o2$87219 = -12						; size = 4
_o$82165 = -8						; size = 4
_Total$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_C4_Count@@YAHH@Z PROC NEAR				; Get_C4_Count, COMDAT

; 5439 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH

; 5440 : 	int Total = 0;
; 5441 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5442 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], eax
	je	$L82164
	npad	1
$L82163:

; 5443 : 	{
; 5444 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5445 : 		if (o && As_C4GameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$82165[ebp], esi
	je	$L82170
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82170
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82170
	mov	ecx, DWORD PTR _o$82165[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$87219[ebp], eax
	je	SHORT $L82170
	mov	ecx, DWORD PTR _o2$87219[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+140]
	call	eax
	test	eax, eax
	je	SHORT $L82170

; 5446 : 		{
; 5447 : 			if (Team == 2)

	cmp	DWORD PTR _Team$[ebp], 2

; 5448 : 			{
; 5449 : 				Total++;
; 5450 : 			}
; 5451 : 			else if (Get_Object_Type(o) == Team)

	je	SHORT $L87248
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87235
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87235
	mov	ecx, DWORD PTR _o$82165[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87235
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87233
$L87235:
	xor	eax, eax
$L87233:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L82170
$L87248:

; 5452 : 			{
; 5453 : 				Total++;

	inc	DWORD PTR _Total$[ebp]
$L82170:

; 5454 : 			}
; 5455 : 		}
; 5456 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82163

; 5457 : 	}
; 5458 : 	return Total;

	mov	eax, DWORD PTR _Total$[ebp]
$L82164:

; 5459 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_C4_Count@@YAHH@Z ENDP				; Get_C4_Count
_TEXT	ENDS
PUBLIC	?newstr@@YAPADPBD@Z				; newstr
; Function compile flags: /Ogty
;	COMDAT ?newstr@@YAPADPBD@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
?newstr@@YAPADPBD@Z PROC NEAR				; newstr, COMDAT

; 5462 : {

	push	esi

; 5463 : 	unsigned long len = strlen(str)+1;

	mov	esi, DWORD PTR _str$[esp]
	mov	eax, esi
	push	edi
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L87257:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L87257
	sub	eax, edx
	lea	edi, DWORD PTR [eax+1]

; 5464 : 	char *s = new char[len];

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	test	eax, eax
	jne	SHORT $L87255
	call	_Init
$L87255:
	push	edi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew

; 5465 : 	memcpy(s,str,len);

	mov	ecx, edi
	mov	edx, ecx
	shr	ecx, 2
	mov	edi, eax
	rep movsd
	mov	ecx, edx
	add	esp, 4
	and	ecx, 3
	rep movsb
	pop	edi
	pop	esi

; 5466 : 	return s;
; 5467 : }

	ret	0
?newstr@@YAPADPBD@Z ENDP				; newstr
_TEXT	ENDS
PUBLIC	?newwcs@@YAPA_WPB_W@Z				; newwcs
; Function compile flags: /Ogty
;	COMDAT ?newwcs@@YAPA_WPB_W@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
?newwcs@@YAPA_WPB_W@Z PROC NEAR				; newwcs, COMDAT

; 5470 : {

	push	esi

; 5471 : 	unsigned long len = wcslen(str)+2;

	mov	esi, DWORD PTR _str$[esp]
	push	edi
	push	esi
	call	_wcslen
	mov	edi, eax

; 5472 : 	wchar_t *s = new wchar_t[len];

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	add	edi, 2
	test	eax, eax
	jne	SHORT $L87265
	call	_Init
$L87265:
	add	edi, edi
	push	edi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew

; 5473 : 	memcpy(s,str,len*2);

	mov	ecx, edi
	mov	edx, ecx
	shr	ecx, 2
	mov	edi, eax
	rep movsd
	mov	ecx, edx
	add	esp, 4
	and	ecx, 3
	rep movsb
	pop	edi
	pop	esi

; 5474 : 	return s;
; 5475 : }

	ret	0
?newwcs@@YAPA_WPB_W@Z ENDP				; newwcs
_TEXT	ENDS
PUBLIC	?Get_Mine_Limit@@YADXZ				; Get_Mine_Limit
; Function compile flags: /Ogty
;	COMDAT ?Get_Mine_Limit@@YADXZ
_TEXT	SEGMENT
?Get_Mine_Limit@@YADXZ PROC NEAR			; Get_Mine_Limit, COMDAT

; 5479 : 	return *Mine_Limit;

	mov	eax, DWORD PTR ?Mine_Limit@@3PADA	; Mine_Limit
	mov	al, BYTE PTR [eax]

; 5480 : }

	ret	0
?Get_Mine_Limit@@YADXZ ENDP				; Get_Mine_Limit
_TEXT	ENDS
PUBLIC	?Is_Gameplay_Permitted@@YA_NXZ			; Is_Gameplay_Permitted
; Function compile flags: /Ogty
;	COMDAT ?Is_Gameplay_Permitted@@YA_NXZ
_TEXT	SEGMENT
?Is_Gameplay_Permitted@@YA_NXZ PROC NEAR		; Is_Gameplay_Permitted, COMDAT

; 5484 : 	return The_Game()->Is_Gameplay_Permitted();

	call	?The_Game@@YAPAVcGameData@@XZ		; The_Game
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	jmp	DWORD PTR [edx+132]
?Is_Gameplay_Permitted@@YA_NXZ ENDP			; Is_Gameplay_Permitted
_TEXT	ENDS
PUBLIC	?Get_Ping@@YAKH@Z				; Get_Ping
; Function compile flags: /Ogty
;	COMDAT ?Get_Ping@@YAKH@Z
_TEXT	SEGMENT
_ping$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Ping@@YAKH@Z PROC NEAR				; Get_Ping, COMDAT

; 5488 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 5489 : 	int ping;
; 5490 : #ifdef WIN32
; 5491 : 	_asm {
; 5492 : 		push PlayerID

	push	DWORD PTR _PlayerID$[ebp]

; 5493 : 		mov eax,ServerConnection

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection

; 5494 : 		mov ecx,[eax]

	mov	ecx, DWORD PTR [eax]

; 5495 : 		call Get_Remote_Host

	call	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA	; Get_Remote_Host

; 5496 : 		test eax, eax

	test	eax, eax

; 5497 : 		jz loc1

	je	SHORT $loc1$82193

; 5498 : 		mov eax,[eax+0x2A4]

	mov	eax, DWORD PTR [eax+676]

; 5499 : 		mov ping,eax

	mov	DWORD PTR _ping$[ebp], eax

; 5500 : 		jmp loc2

	jmp	SHORT $loc2$82194
$loc1$82193:

; 5501 : loc1:
; 5502 : 		mov ping, 0

	mov	DWORD PTR _ping$[ebp], 0
$loc2$82194:

; 5503 : loc2:
; 5504 : 	}
; 5505 : #else
; 5506 : 	char *RemoteHost = Get_Remote_Host(*ServerConnection,PlayerID);
; 5507 : 	if (RemoteHost)
; 5508 : 	{
; 5509 : 		RemoteHost += 0x29C;
; 5510 : 		ping = *(int *)RemoteHost;
; 5511 : 	}
; 5512 : 	else
; 5513 : 	{
; 5514 : 		ping = 0;
; 5515 : 	}
; 5516 : #endif
; 5517 : 	return ping;

	mov	eax, DWORD PTR _ping$[ebp]

; 5518 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Ping@@YAKH@Z ENDP					; Get_Ping
_TEXT	ENDS
PUBLIC	?Get_Kbits@@YAKH@Z				; Get_Kbits
; Function compile flags: /Ogty
;	COMDAT ?Get_Kbits@@YAKH@Z
_TEXT	SEGMENT
_kbits$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Kbits@@YAKH@Z PROC NEAR				; Get_Kbits, COMDAT

; 5521 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 5522 : 	int kbits;
; 5523 : #ifdef WIN32
; 5524 : 	_asm {
; 5525 : 		push PlayerID

	push	DWORD PTR _PlayerID$[ebp]

; 5526 : 		mov eax,ServerConnection

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection

; 5527 : 		mov ecx,[eax]

	mov	ecx, DWORD PTR [eax]

; 5528 : 		call Get_Remote_Host

	call	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA	; Get_Remote_Host

; 5529 : 		test eax, eax

	test	eax, eax

; 5530 : 		jz loc1

	je	SHORT $loc1$82199

; 5531 : 		mov ecx,eax

	mov	ecx, eax

; 5532 : 		call Get_Address

	call	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA ; Get_Address

; 5533 : 		mov ecx, PacketManager

	mov	ecx, DWORD PTR ?PacketManager@@3PAXA	; PacketManager

; 5534 : 		push eax

	push	eax

; 5535 : 		call Bandwidth_Out

	call	DWORD PTR ?Bandwidth_Out@@3P6AHPAUsockaddr_in@@@ZA ; Bandwidth_Out

; 5536 : 		mov kbits, eax

	mov	DWORD PTR _kbits$[ebp], eax

; 5537 : 		jmp loc2

	jmp	SHORT $loc2$82200
$loc1$82199:

; 5538 : loc1:
; 5539 : 		mov kbits, 0

	mov	DWORD PTR _kbits$[ebp], 0
$loc2$82200:

; 5540 : loc2:
; 5541 : 	}
; 5542 : #else
; 5543 : 	char *RemoteHost = Get_Remote_Host(*ServerConnection,PlayerID);
; 5544 : 	if (RemoteHost)
; 5545 : 	{
; 5546 : 		sockaddr_in *addr = Get_Address(RemoteHost);
; 5547 : 		kbits = Bandwidth_Out(PacketManager,addr);
; 5548 : 	}
; 5549 : 	else
; 5550 : 	{
; 5551 : 		kbits = 0;
; 5552 : 	}
; 5553 : #endif
; 5554 : 	return kbits >> 0x0A;

	mov	eax, DWORD PTR _kbits$[ebp]
	sar	eax, 10					; 0000000aH

; 5555 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Kbits@@YAKH@Z ENDP					; Get_Kbits
_TEXT	ENDS
PUBLIC	?Send_Custom_Event_To_Object@@YAXPAEPBDHHM@Z	; Send_Custom_Event_To_Object
; Function compile flags: /Ogty
;	COMDAT ?Send_Custom_Event_To_Object@@YAXPAEPBDHHM@Z
_TEXT	SEGMENT
_o$82214 = -4						; size = 4
_sender$ = 8						; size = 4
_Preset$ = 12						; size = 4
_message$ = 16						; size = 4
_param$ = 20						; size = 4
_delay$ = 24						; size = 4
?Send_Custom_Event_To_Object@@YAXPAEPBDHHM@Z PROC NEAR	; Send_Custom_Event_To_Object, COMDAT

; 5558 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _sender$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L82213
	test	esi, esi
	je	$L82213

; 5560 : 	{
; 5561 : 		return;
; 5562 : 	}
; 5563 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5564 : 	while (x)

	test	edi, edi
	je	$L82213
$L82212:

; 5565 : 	{
; 5566 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5567 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$82214[ebp], esi
	je	SHORT $L82218
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82218
	mov	ecx, DWORD PTR _o$82214[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L82218

; 5568 : 		{
; 5569 : 			DefinitionClass *d = Get_Definition(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87291
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L87289
$L87291:
	xor	ecx, ecx
$L87289:

; 5570 : 			if (!stricmp(d->Get_Name(),Preset))

	mov	edx, DWORD PTR _Preset$[ebp]
	mov	eax, DWORD PTR [ecx]
	push	edx
	call	DWORD PTR [eax+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L82218

; 5571 : 			{
; 5572 : 				Commands->Send_Custom_Event(sender,o,message,param,delay);

	mov	ecx, DWORD PTR _delay$[ebp]
	mov	edx, DWORD PTR _param$[ebp]
	mov	eax, DWORD PTR _message$[ebp]
	push	ecx
	mov	ecx, DWORD PTR _sender$[ebp]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	esi
	push	ecx
	call	DWORD PTR [edx+140]
	add	esp, 20					; 00000014H
$L82218:

; 5573 : 			}
; 5574 : 		}
; 5575 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L82212
$L82213:

; 5576 : 	}
; 5577 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Send_Custom_Event_To_Object@@YAXPAEPBDHHM@Z ENDP	; Send_Custom_Event_To_Object
_TEXT	ENDS
PUBLIC	?Get_Spawn_Char@@YAPADH@Z			; Get_Spawn_Char
; Function compile flags: /Ogty
;	COMDAT ?Get_Spawn_Char@@YAPADH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Get_Spawn_Char@@YAPADH@Z PROC NEAR			; Get_Spawn_Char, COMDAT

; 5592 : 	if (Team)

	mov	eax, DWORD PTR _Team$[esp-4]
	test	eax, eax

; 5593 : 	{
; 5594 : 		return SpawnCharNod;

	mov	eax, DWORD PTR ?SpawnCharNod@@3PADA	; SpawnCharNod
	jne	SHORT $L82233

; 5595 : 	}
; 5596 : 	else if (Team == 1)
; 5597 : 	{
; 5598 : 		return SpawnCharGDI;
; 5599 : 	}
; 5600 : 	return "None";

	mov	eax, OFFSET FLAT:??_C@_04OHJIHAFH@None?$AA@
$L82233:

; 5601 : }

	ret	0
?Get_Spawn_Char@@YAPADH@Z ENDP				; Get_Spawn_Char
_TEXT	ENDS
PUBLIC	?Change_Spawn_Char@@YAXHPBD@Z			; Change_Spawn_Char
; Function compile flags: /Ogty
;	COMDAT ?Change_Spawn_Char@@YAXHPBD@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
_Name$ = 12						; size = 4
?Change_Spawn_Char@@YAXHPBD@Z PROC NEAR			; Change_Spawn_Char, COMDAT

; 5605 : 	if (strlen(Name) > 24)

	mov	edx, DWORD PTR _Name$[esp-4]
	mov	eax, edx
	push	esi
	lea	esi, DWORD PTR [eax+1]
	npad	6
$L87301:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L87301
	sub	eax, esi
	cmp	eax, 24					; 00000018H
	pop	esi
	ja	SHORT $L82247

; 5606 : 	{
; 5607 : 		return;
; 5608 : 	}
; 5609 : 	else if (!Team)

	mov	eax, DWORD PTR _Team$[esp-4]
	test	eax, eax
	jne	SHORT $L82243

; 5610 : 	{
; 5611 : 		memcpy((void*)SpawnCharNod,(void*)Name,24);

	mov	eax, DWORD PTR ?SpawnCharNod@@3PADA	; SpawnCharNod

; 5612 : 	}
; 5613 : 	else if (Team == 1)

	jmp	SHORT $L87302
$L82243:
	cmp	eax, 1
	jne	SHORT $L82247

; 5614 : 	{
; 5615 : 		memcpy((void*)SpawnCharGDI,(void*)Name,24);

	mov	eax, DWORD PTR ?SpawnCharGDI@@3PADA	; SpawnCharGDI
$L87302:
	mov	ecx, DWORD PTR [edx]
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR [edx+4]
	mov	DWORD PTR [eax+4], ecx
	mov	ecx, DWORD PTR [edx+8]
	mov	DWORD PTR [eax+8], ecx
	mov	ecx, DWORD PTR [edx+12]
	mov	DWORD PTR [eax+12], ecx
	mov	ecx, DWORD PTR [edx+16]
	mov	DWORD PTR [eax+16], ecx
	mov	edx, DWORD PTR [edx+20]
	mov	DWORD PTR [eax+20], edx
$L82247:

; 5616 : 	}
; 5617 : }

	ret	0
?Change_Spawn_Char@@YAXHPBD@Z ENDP			; Change_Spawn_Char
_TEXT	ENDS
PUBLIC	?Get_Building_Count_Team@@YAHH@Z		; Get_Building_Count_Team
; Function compile flags: /Ogty
;	COMDAT ?Get_Building_Count_Team@@YAHH@Z
_TEXT	SEGMENT
$T87311 = -8						; size = 4
_o$82258 = -8						; size = 4
_Count$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_Building_Count_Team@@YAHH@Z PROC NEAR		; Get_Building_Count_Team, COMDAT

; 5620 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5621 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 5622 : 	int Count = 0;

	xor	eax, eax

; 5623 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Count$[ebp], eax
	je	$L82257
	npad	2
$L82256:

; 5624 : 	{
; 5625 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87311[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82260
	test	esi, esi
	je	SHORT $L82260
	mov	ecx, DWORD PTR $T87311[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 5626 : 		if (o && Commands->Get_Health(o) > 0 && (Get_Object_Type(o) == Team || Team == 2))

	test	esi, esi
	mov	DWORD PTR _o$82258[ebp], esi
	je	SHORT $L82260
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]
	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L82260
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87325
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87325
	mov	ecx, DWORD PTR _o$82258[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87325
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87323
$L87325:
	xor	eax, eax
$L87323:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L82261
	cmp	ecx, 2
	jne	SHORT $L82260
$L82261:

; 5627 : 		{
; 5628 : 			Count++;

	inc	DWORD PTR _Count$[ebp]
$L82260:

; 5629 : 		}
; 5630 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82256

; 5631 : 	}
; 5632 : 	return Count;

	mov	eax, DWORD PTR _Count$[ebp]
$L82257:

; 5633 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Building_Count_Team@@YAHH@Z ENDP			; Get_Building_Count_Team
_TEXT	ENDS
PUBLIC	?Ranged_Percentage_Damage_To_Vehicles@@YAXMPBDUVector3@@MPAE@Z ; Ranged_Percentage_Damage_To_Vehicles
; Function compile flags: /Ogty
;	COMDAT ?Ranged_Percentage_Damage_To_Vehicles@@YAXMPBDUVector3@@MPAE@Z
_TEXT	SEGMENT
$T87339 = -40						; size = 12
_pos1$82280 = -28					; size = 12
_pos2$82282 = -16					; size = 12
_Damage$82287 = -4					; size = 4
_Max_Health$82285 = -4					; size = 4
_o$82274 = -4						; size = 4
_Percentage$ = 8					; size = 4
_Warhead$ = 12						; size = 4
_Location$ = 16						; size = 12
_DamageRadius$ = 28					; size = 4
_Damager$ = 32						; size = 4
?Ranged_Percentage_Damage_To_Vehicles@@YAXMPBDUVector3@@MPAE@Z PROC NEAR ; Ranged_Percentage_Damage_To_Vehicles, COMDAT

; 5635 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 5636 : 	if(DamageRadius > 0)

	fld	DWORD PTR _DamageRadius$[ebp]
	push	ebx
	fcomp	DWORD PTR __real@00000000
	push	esi
	push	edi
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L82273

; 5637 : 	{
; 5638 : 		GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 5639 : 		while(x)

	test	edi, edi
	je	$L82273
	npad	3
$L82272:

; 5640 : 		{
; 5641 : 			GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5642 : 			if(o)

	test	esi, esi
	mov	DWORD PTR _o$82274[ebp], esi
	je	$L82284

; 5643 : 			{
; 5644 : 				if(As_VehicleGameObj(o))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82284
	mov	ecx, DWORD PTR _o$82274[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	test	eax, eax
	je	$L82284

; 5645 : 				{
; 5646 : 					float health = Commands->Get_Health(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+220]

; 5647 : 					if(health > 0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L82284

; 5648 : 					{
; 5649 : 						Vector3 pos1 = Commands->Get_Position(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T87339[ebp]
	push	esi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$82280[ebp], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos1$82280[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 5650 : 						Vector3 pos2 = Location;

	mov	eax, DWORD PTR _Location$[ebp]
	mov	ecx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$82280[ebp+8], edx
	mov	edx, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$82282[ebp], eax

; 5651 : 
; 5652 : 						float Distance = Commands->Get_Distance(pos1,pos2);

	lea	eax, DWORD PTR _pos2$82282[ebp]
	mov	DWORD PTR _pos2$82282[ebp+4], ecx
	push	eax
	lea	ecx, DWORD PTR _pos1$82280[ebp]
	mov	DWORD PTR _pos2$82282[ebp+8], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]

; 5653 : 
; 5654 : 						if(Distance <= DamageRadius)

	fcomp	DWORD PTR _DamageRadius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L82284

; 5655 : 						{
; 5656 : 							float Max_Health = Commands->Get_Max_Health(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+224]
	fstp	DWORD PTR _Max_Health$82285[ebp]

; 5657 : 							float Max_Shield = Commands->Get_Max_Shield_Strength(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+236]

; 5658 : 							float Damage = (Max_Health + Max_Shield) * Percentage;
; 5659 : 							Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	edx, DWORD PTR _Damager$[ebp]
	mov	eax, DWORD PTR _Warhead$[ebp]
	fadd	DWORD PTR _Max_Health$82285[ebp]
	push	edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fmul	DWORD PTR _Percentage$[ebp]
	push	eax
	fstp	DWORD PTR _Damage$82287[ebp]
	mov	ecx, DWORD PTR _Damage$82287[ebp]
	push	ecx
	push	esi
	call	DWORD PTR [edx+616]
	add	esp, 24					; 00000018H
$L82284:

; 5660 : 						}
; 5661 : 					}
; 5662 : 				}
; 5663 : 			}
; 5664 : 			x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82272
$L82273:

; 5665 : 		}
; 5666 : 	}
; 5667 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Ranged_Percentage_Damage_To_Vehicles@@YAXMPBDUVector3@@MPAE@Z ENDP ; Ranged_Percentage_Damage_To_Vehicles
_TEXT	ENDS
PUBLIC	?Get_Bandwidth@@YAHH@Z				; Get_Bandwidth
; Function compile flags: /Ogty
;	COMDAT ?Get_Bandwidth@@YAHH@Z
_TEXT	SEGMENT
_bandwidth$ = -4					; size = 4
_PlayerID$ = 8						; size = 4
?Get_Bandwidth@@YAHH@Z PROC NEAR			; Get_Bandwidth, COMDAT

; 5670 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 5671 : 	int bandwidth;
; 5672 : #ifdef WIN32
; 5673 : 	_asm {
; 5674 : 		push PlayerID

	push	DWORD PTR _PlayerID$[ebp]

; 5675 : 		mov eax,ServerConnection

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection

; 5676 : 		mov ecx,[eax]

	mov	ecx, DWORD PTR [eax]

; 5677 : 		call Get_Remote_Host

	call	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA	; Get_Remote_Host

; 5678 : 		test eax, eax

	test	eax, eax

; 5679 : 		jz loc1

	je	SHORT $loc1$82292

; 5680 : 		mov eax,[eax+0x338]

	mov	eax, DWORD PTR [eax+824]

; 5681 : 		mov bandwidth,eax

	mov	DWORD PTR _bandwidth$[ebp], eax

; 5682 : 		jmp loc2

	jmp	SHORT $loc2$82293
$loc1$82292:

; 5683 : loc1:
; 5684 : 		mov bandwidth, 0

	mov	DWORD PTR _bandwidth$[ebp], 0
$loc2$82293:

; 5685 : loc2:
; 5686 : 	}
; 5687 : #else
; 5688 : 	char *RemoteHost = Get_Remote_Host(*ServerConnection,PlayerID);
; 5689 : 	if (RemoteHost)
; 5690 : 	{
; 5691 : 		RemoteHost += 0x330;
; 5692 : 		bandwidth = *(int *)RemoteHost;
; 5693 : 	}
; 5694 : 	else
; 5695 : 	{
; 5696 : 		bandwidth = 0;
; 5697 : 	}
; 5698 : #endif
; 5699 : 	return bandwidth;

	mov	eax, DWORD PTR _bandwidth$[ebp]

; 5700 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Bandwidth@@YAHH@Z ENDP				; Get_Bandwidth
_TEXT	ENDS
PUBLIC	?Is_Dedicated@@YA_NXZ				; Is_Dedicated
; Function compile flags: /Ogty
;	COMDAT ?Is_Dedicated@@YA_NXZ
_TEXT	SEGMENT
?Is_Dedicated@@YA_NXZ PROC NEAR				; Is_Dedicated, COMDAT

; 5704 : 	return Exe;

	mov	eax, DWORD PTR ?Exe@@3HA		; Exe
	test	eax, eax
	setne	al

; 5705 : }

	ret	0
?Is_Dedicated@@YA_NXZ ENDP				; Is_Dedicated
_TEXT	ENDS
PUBLIC	?Soldier_Transition_Vehicle@@YAXPAE@Z		; Soldier_Transition_Vehicle
; Function compile flags: /Ogty
;	COMDAT ?Soldier_Transition_Vehicle@@YAXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Soldier_Transition_Vehicle@@YAXPAE@Z PROC NEAR		; Soldier_Transition_Vehicle, COMDAT

; 5708 : {

	push	ebp
	mov	ebp, esp

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

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

; 5710 : 	{
; 5711 : 		return;
; 5712 : 	}
; 5713 : 	Check_Transitions(obj,true);

	push	1
	push	esi
	call	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA ; Check_Transitions
	add	esp, 8
$L82300:

; 5714 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Soldier_Transition_Vehicle@@YAXPAE@Z ENDP		; Soldier_Transition_Vehicle
_TEXT	ENDS
PUBLIC	?Is_Linux@@YA_NXZ				; Is_Linux
; Function compile flags: /Ogty
;	COMDAT ?Is_Linux@@YA_NXZ
_TEXT	SEGMENT
?Is_Linux@@YA_NXZ PROC NEAR				; Is_Linux, COMDAT

; 5718 : 	if ((Exe == 2) || (Exe == 3))

	mov	eax, DWORD PTR ?Exe@@3HA		; Exe
	cmp	eax, 2
	je	SHORT $L82304
	cmp	eax, 3
	je	SHORT $L82304

; 5721 : 	}
; 5722 : 	return false;

	xor	al, al

; 5723 : }

	ret	0
$L82304:

; 5719 : 	{
; 5720 : 		return true;

	mov	al, 1

; 5723 : }

	ret	0
?Is_Linux@@YA_NXZ ENDP					; Is_Linux
_TEXT	ENDS
PUBLIC	?Get_Current_Game_Mode@@YAIXZ			; Get_Current_Game_Mode
PUBLIC	??_C@_03KPGLNNAM@WOL?$AA@			; `string'
PUBLIC	??_C@_03BANLECBK@LAN?$AA@			; `string'
;	COMDAT ??_C@_03KPGLNNAM@WOL?$AA@
CONST	SEGMENT
??_C@_03KPGLNNAM@WOL?$AA@ DB 'WOL', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_03BANLECBK@LAN?$AA@
CONST	SEGMENT
??_C@_03BANLECBK@LAN?$AA@ DB 'LAN', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Current_Game_Mode@@YAIXZ
_TEXT	SEGMENT
?Get_Current_Game_Mode@@YAIXZ PROC NEAR			; Get_Current_Game_Mode, COMDAT

; 5726 : 	if (*GameType == 1)

	mov	eax, DWORD PTR ?GameType@@3PAHA		; GameType
	mov	eax, DWORD PTR [eax]
	cmp	eax, 1
	jne	SHORT $L82307

; 5765 : }

	ret	0
$L82307:

; 5727 : 	{
; 5728 : 		return 1;
; 5729 : 	}
; 5730 : 	if (*GameType == 2)

	cmp	eax, 2
	jne	SHORT $L82308

; 5765 : }

	ret	0
$L82308:

; 5731 : 	{
; 5732 : 		return 2;
; 5733 : 	}
; 5734 : 	if (*GameType == 3)

	cmp	eax, 3
	jne	SHORT $L82318

; 5735 : 	{
; 5736 : 		if (*GameMode == 1)

	mov	ecx, DWORD PTR ?GameMode@@3PAIA		; GameMode
	mov	eax, DWORD PTR [ecx]
	cmp	eax, 1
	jne	SHORT $L82310

; 5737 : 		{
; 5738 : 			return 5;

	mov	eax, 5

; 5765 : }

	ret	0
$L82310:

; 5739 : 		}
; 5740 : 		if (*GameMode == 2)

	cmp	eax, 2

; 5741 : 		{
; 5742 : 			return 3;

	je	SHORT $L87367

; 5743 : 		}
; 5744 : 		if (*GameMode == 3)

	cmp	eax, 3
	jne	SHORT $L82312

; 5745 : 		{
; 5746 : 			return 4;

	mov	eax, 4

; 5765 : }

	ret	0
$L82312:

; 5747 : 		}
; 5748 : 		if (Game_Mode_Find("WOL"))

	push	OFFSET FLAT:??_C@_03KPGLNNAM@WOL?$AA@
	call	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA ; Game_Mode_Find
	add	esp, 4
	test	eax, eax
	je	SHORT $L82313
$L87367:

; 5749 : 		{
; 5750 : 			return 3;

	mov	eax, 3

; 5765 : }

	ret	0
$L82313:

; 5751 : 		}
; 5752 : 		if (Game_Mode_Find("LAN"))

	push	OFFSET FLAT:??_C@_03BANLECBK@LAN?$AA@
	call	DWORD PTR ?Game_Mode_Find@@3P6APAXPBD@ZA ; Game_Mode_Find
	add	esp, 4
	test	eax, eax
	je	SHORT $L82318

; 5753 : 		{
; 5754 : 			if (*IsListed)

	mov	edx, DWORD PTR ?IsListed@@3PA_NA	; IsListed
	mov	al, BYTE PTR [edx]
	neg	al
	sbb	eax, eax
	add	eax, 5

; 5765 : }

	ret	0
$L82318:

; 5755 : 			{
; 5756 : 				return 4;
; 5757 : 			}
; 5758 : 			else
; 5759 : 			{
; 5760 : 				return 5;
; 5761 : 			}
; 5762 : 		}
; 5763 : 	}
; 5764 : 	return 0;

	xor	eax, eax

; 5765 : }

	ret	0
?Get_Current_Game_Mode@@YAIXZ ENDP			; Get_Current_Game_Mode
_TEXT	ENDS
PUBLIC	?Get_Team@@YAHH@Z				; Get_Team
; Function compile flags: /Ogty
;	COMDAT ?Get_Team@@YAHH@Z
_TEXT	SEGMENT
_team$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Team@@YAHH@Z PROC NEAR				; Get_Team, COMDAT

; 5768 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5769 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5770 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82323

; 5790 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82323:

; 5771 : 	{
; 5772 : 		return 0;
; 5773 : 	}
; 5774 : #ifdef RH8
; 5775 : 	x += 0x768;
; 5776 : #else
; 5777 : 	x += 0x76C;

	add	eax, 1900				; 0000076cH
	mov	DWORD PTR _x$[ebp], eax

; 5778 : #endif
; 5779 : 	int team;
; 5780 : #ifdef WIN32
; 5781 : 	_asm {
; 5782 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5783 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 5784 : 		mov team, eax

	mov	DWORD PTR _team$[ebp], eax

; 5785 : 	}
; 5786 : #else
; 5787 : 	team = *(int *)x;
; 5788 : #endif
; 5789 : 	return team;

	mov	eax, DWORD PTR _team$[ebp]

; 5790 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Team@@YAHH@Z ENDP					; Get_Team
_TEXT	ENDS
PUBLIC	?Get_Rank@@YAHH@Z				; Get_Rank
; Function compile flags: /Ogty
;	COMDAT ?Get_Rank@@YAHH@Z
_TEXT	SEGMENT
_rank$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Rank@@YAHH@Z PROC NEAR				; Get_Rank, COMDAT

; 5793 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5794 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5795 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82329

; 5815 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82329:

; 5796 : 	{
; 5797 : 		return 0;
; 5798 : 	}
; 5799 : #ifdef RH8
; 5800 : 	x += 0x76C;
; 5801 : #else
; 5802 : 	x += 0x770;

	add	eax, 1904				; 00000770H
	mov	DWORD PTR _x$[ebp], eax

; 5803 : #endif
; 5804 : 	int rank;
; 5805 : #ifdef WIN32
; 5806 : 	_asm {
; 5807 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5808 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 5809 : 		mov rank, eax

	mov	DWORD PTR _rank$[ebp], eax

; 5810 : 	}
; 5811 : #else
; 5812 : 	rank = *(int *)x;
; 5813 : #endif
; 5814 : 	return rank;

	mov	eax, DWORD PTR _rank$[ebp]

; 5815 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Rank@@YAHH@Z ENDP					; Get_Rank
_TEXT	ENDS
PUBLIC	?Get_Kills@@YAHH@Z				; Get_Kills
; Function compile flags: /Ogty
;	COMDAT ?Get_Kills@@YAHH@Z
_TEXT	SEGMENT
_kills$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Kills@@YAHH@Z PROC NEAR				; Get_Kills, COMDAT

; 5818 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5819 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5820 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82335

; 5840 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82335:

; 5821 : 	{
; 5822 : 		return 0;
; 5823 : 	}
; 5824 : #ifdef RH8
; 5825 : 	x += 0x760;
; 5826 : #else
; 5827 : 	x += 0x764;

	add	eax, 1892				; 00000764H
	mov	DWORD PTR _x$[ebp], eax

; 5828 : #endif
; 5829 : 	int kills;
; 5830 : #ifdef WIN32
; 5831 : 	_asm {
; 5832 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5833 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 5834 : 		mov kills, eax

	mov	DWORD PTR _kills$[ebp], eax

; 5835 : 	}
; 5836 : #else
; 5837 : 	kills = *(int *)x;
; 5838 : #endif
; 5839 : 	return kills;

	mov	eax, DWORD PTR _kills$[ebp]

; 5840 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Kills@@YAHH@Z ENDP					; Get_Kills
_TEXT	ENDS
PUBLIC	?Get_Deaths@@YAHH@Z				; Get_Deaths
; Function compile flags: /Ogty
;	COMDAT ?Get_Deaths@@YAHH@Z
_TEXT	SEGMENT
_deaths$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Deaths@@YAHH@Z PROC NEAR				; Get_Deaths, COMDAT

; 5843 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5844 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5845 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82341

; 5865 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82341:

; 5846 : 	{
; 5847 : 		return 0;
; 5848 : 	}
; 5849 : #ifdef RH8
; 5850 : 	x += 0x764;
; 5851 : #else
; 5852 : 	x += 0x768;

	add	eax, 1896				; 00000768H
	mov	DWORD PTR _x$[ebp], eax

; 5853 : #endif
; 5854 : 	int deaths;
; 5855 : #ifdef WIN32
; 5856 : 	_asm {
; 5857 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5858 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 5859 : 		mov deaths, eax

	mov	DWORD PTR _deaths$[ebp], eax

; 5860 : 	}
; 5861 : #else
; 5862 : 	deaths = *(int *)x;
; 5863 : #endif
; 5864 : 	return deaths;

	mov	eax, DWORD PTR _deaths$[ebp]

; 5865 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Deaths@@YAHH@Z ENDP				; Get_Deaths
_TEXT	ENDS
PUBLIC	?Get_Score@@YAMH@Z				; Get_Score
; Function compile flags: /Ogty
;	COMDAT ?Get_Score@@YAMH@Z
_TEXT	SEGMENT
_score$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Score@@YAMH@Z PROC NEAR				; Get_Score, COMDAT

; 5868 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5869 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5870 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82347

; 5871 : 	{
; 5872 : 		return 0;

	fld	DWORD PTR __real@00000000

; 5892 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82347:

; 5873 : 	}
; 5874 : #ifdef WIN32
; 5875 : 	x += 0x4;

	add	eax, 4
	mov	DWORD PTR _x$[ebp], eax

; 5876 : #else
; 5877 : #ifdef RH8
; 5878 : 	x += 0x4;
; 5879 : #endif
; 5880 : #endif
; 5881 : 	float score;
; 5882 : #ifdef WIN32
; 5883 : 	_asm {
; 5884 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5885 : 		call Get_Safe_Data_Float

	call	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA ; Get_Safe_Data_Float

; 5886 : 		fstp score

	fstp	DWORD PTR _score$[ebp]

; 5887 : 	}
; 5888 : #else
; 5889 : 	score = *(float *)x;
; 5890 : #endif
; 5891 : 	return score;

	fld	DWORD PTR _score$[ebp]

; 5892 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Score@@YAMH@Z ENDP					; Get_Score
_TEXT	ENDS
PUBLIC	?Get_Money@@YAMH@Z				; Get_Money
; Function compile flags: /Ogty
;	COMDAT ?Get_Money@@YAMH@Z
_TEXT	SEGMENT
_score$ = -8						; size = 4
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Money@@YAMH@Z PROC NEAR				; Get_Money, COMDAT

; 5895 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 5896 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 5897 : 	if (!x)

	test	eax, eax
	jne	SHORT $L82353

; 5898 : 	{
; 5899 : 		return 0;

	fld	DWORD PTR __real@00000000

; 5921 : }

	mov	esp, ebp
	pop	ebp
	ret	0
$L82353:

; 5900 : 	}
; 5901 : #ifdef WIN32
; 5902 : 	x += 0x8;

	add	eax, 8
	mov	DWORD PTR _x$[ebp], eax

; 5903 : #else
; 5904 : #ifdef RH8
; 5905 : 	x += 0x8;
; 5906 : #else
; 5907 : 	x += 0x4;
; 5908 : #endif
; 5909 : #endif
; 5910 : 	float score;
; 5911 : #ifdef WIN32
; 5912 : 	_asm {
; 5913 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 5914 : 		call Get_Safe_Data_Float

	call	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA ; Get_Safe_Data_Float

; 5915 : 		fstp score

	fstp	DWORD PTR _score$[ebp]

; 5916 : 	}
; 5917 : #else
; 5918 : 	score = *(float *)x;
; 5919 : #endif
; 5920 : 	return score;

	fld	DWORD PTR _score$[ebp]

; 5921 : }

	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Money@@YAMH@Z ENDP					; Get_Money
_TEXT	ENDS
PUBLIC	?Get_Kill_To_Death_Ratio@@YAMH@Z		; Get_Kill_To_Death_Ratio
PUBLIC	__real@bf800000
;	COMDAT __real@bf800000
CONST	SEGMENT
__real@bf800000 DD 0bf800000r			; -1
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Kill_To_Death_Ratio@@YAMH@Z
_TEXT	SEGMENT
_x$87392 = -12						; size = 4
_deaths$87394 = -8					; size = 4
_x$87386 = -8						; size = 4
_kills$87388 = -4					; size = 4
_kills$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Get_Kill_To_Death_Ratio@@YAMH@Z PROC NEAR		; Get_Kill_To_Death_Ratio, COMDAT

; 5924 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
	push	esi

; 5925 : 	int kills = Get_Kills(PlayerID);

	mov	esi, DWORD PTR _PlayerID$[ebp]
	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAEH@ZA	; FindPlayer
	add	esp, 4
	test	eax, eax
	jne	SHORT $L87387
	mov	DWORD PTR _kills$[ebp], eax
	jmp	SHORT $L87385
$L87387:
	add	eax, 1892				; 00000764H
	mov	DWORD PTR _x$87386[ebp], eax
	mov	ecx, DWORD PTR _x$87386[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _kills$87388[ebp], eax
	mov	eax, DWORD PTR _kills$87388[ebp]
	mov	DWORD PTR _kills$[ebp], eax
$L87385:

; 5926 : 	int deaths = Get_Deaths(PlayerID);

	push	esi
	call	DWORD PTR ?FindPlayer@@3P6APAEH@ZA	; FindPlayer
	add	esp, 4
	test	eax, eax
	je	SHORT $L87395
	add	eax, 1896				; 00000768H
	mov	DWORD PTR _x$87392[ebp], eax
	mov	ecx, DWORD PTR _x$87392[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _deaths$87394[ebp], eax

; 5927 : 	if (deaths <= 0)

	mov	eax, DWORD PTR _deaths$87394[ebp]
	test	eax, eax
	jg	SHORT $L82360
$L87395:

; 5928 : 	{
; 5929 : 		return -1.0;

	fld	DWORD PTR __real@bf800000

; 5932 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L82360:

; 5930 : 	}
; 5931 : 	return (float)kills/(float)deaths;

	fild	DWORD PTR _kills$[ebp]

; 5932 : }

	pop	esi
	fidiv	DWORD PTR _deaths$87394[ebp]
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Kill_To_Death_Ratio@@YAMH@Z ENDP			; Get_Kill_To_Death_Ratio
_TEXT	ENDS
PUBLIC	?Get_Damage_Points@@YAMPAE@Z			; Get_Damage_Points
; Function compile flags: /Ogty
;	COMDAT ?Get_Damage_Points@@YAMPAE@Z
_TEXT	SEGMENT
_points$ = -8						; size = 4
_def$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Damage_Points@@YAMPAE@Z PROC NEAR			; Get_Damage_Points, COMDAT

; 5935 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 5939 : 	}
; 5940 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 5941 : 	if (!o)

	test	eax, eax

; 5942 : 	{
; 5943 : 		return 0;

	je	SHORT $L82367

; 5944 : 	}
; 5945 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 5946 : #ifdef WIN32
; 5947 : 	def+=0x7;

	add	eax, 1864				; 00000748H
	mov	DWORD PTR _def$[ebp], eax

; 5948 : #else
; 5949 : #ifdef RH8
; 5950 : 	def+=0x7;
; 5951 : #else
; 5952 : #endif
; 5953 : 	def+=0x6;
; 5954 : #endif
; 5955 : 	float points;
; 5956 : #ifdef WIN32
; 5957 : 	_asm {
; 5958 : 		mov ecx, def

	mov	ecx, DWORD PTR _def$[ebp]

; 5959 : 		call Get_Safe_Data_Float

	call	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA ; Get_Safe_Data_Float

; 5960 : 		fstp points

	fstp	DWORD PTR _points$[ebp]

; 5961 : 	}
; 5962 : #else
; 5963 : 	points = *(float *)def;
; 5964 : #endif
; 5965 : 	return points;

	fld	DWORD PTR _points$[ebp]

; 5966 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82367:

; 5937 : 	{
; 5938 : 		return 0;

	fld	DWORD PTR __real@00000000

; 5966 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Damage_Points@@YAMPAE@Z ENDP			; Get_Damage_Points
_TEXT	ENDS
PUBLIC	?Get_Death_Points@@YAMPAE@Z			; Get_Death_Points
; Function compile flags: /Ogty
;	COMDAT ?Get_Death_Points@@YAMPAE@Z
_TEXT	SEGMENT
_points$ = -8						; size = 4
_def$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Death_Points@@YAMPAE@Z PROC NEAR			; Get_Death_Points, COMDAT

; 5969 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 5973 : 	}
; 5974 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 5975 : 	if (!o)

	test	eax, eax

; 5976 : 	{
; 5977 : 		return 0;

	je	SHORT $L82377

; 5978 : 	}
; 5979 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 5980 : #ifdef WIN32
; 5981 : 	def+=0x8;

	add	eax, 1868				; 0000074cH
	mov	DWORD PTR _def$[ebp], eax

; 5982 : #else
; 5983 : #ifdef RH8
; 5984 : 	def+=0x8;
; 5985 : #else
; 5986 : #endif
; 5987 : 	def+=0x7;
; 5988 : #endif
; 5989 : 	float points;
; 5990 : #ifdef WIN32
; 5991 : 	_asm {
; 5992 : 		mov ecx, def

	mov	ecx, DWORD PTR _def$[ebp]

; 5993 : 		call Get_Safe_Data_Float

	call	DWORD PTR ?Get_Safe_Data_Float@@3P6AMPAX@ZA ; Get_Safe_Data_Float

; 5994 : 		fstp points

	fstp	DWORD PTR _points$[ebp]

; 5995 : 	}
; 5996 : #else
; 5997 : 	points = *(float *)def;
; 5998 : #endif
; 5999 : 	return points;

	fld	DWORD PTR _points$[ebp]

; 6000 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82377:

; 5971 : 	{
; 5972 : 		return 0;

	fld	DWORD PTR __real@00000000

; 6000 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Death_Points@@YAMPAE@Z ENDP			; Get_Death_Points
_TEXT	ENDS
PUBLIC	?Set_Damage_Points@@YAXPAEM@Z			; Set_Damage_Points
; Function compile flags: /Ogty
;	COMDAT ?Set_Damage_Points@@YAXPAEM@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_points$ = 12						; size = 4
?Set_Damage_Points@@YAXPAEM@Z PROC NEAR			; Set_Damage_Points, COMDAT

; 6003 : {

	push	ebp
	mov	ebp, esp

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

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

; 6005 : 	{
; 6006 : 		return;
; 6007 : 	}
; 6008 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 6009 : 	if (!o)

	test	eax, eax
	je	SHORT $L82388

; 6010 : 	{
; 6011 : 		return;
; 6012 : 	}
; 6013 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 6014 : #ifdef WIN32
; 6015 : 	def+=0x7;
; 6016 : #else
; 6017 : #ifdef RH8
; 6018 : 	def+=0x7;
; 6019 : #else
; 6020 : #endif
; 6021 : 	def+=0x6;
; 6022 : #endif
; 6023 : #ifdef WIN32
; 6024 : 	void *def2 = (void *)*def;
; 6025 : 	Set_Safe_Data_Float_Ref(def2,points);

	mov	eax, DWORD PTR [eax+1864]
	lea	edx, DWORD PTR _points$[ebp]
	push	edx
	push	eax
	call	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA ; Set_Safe_Data_Float_Ref
	add	esp, 8
$L82388:

; 6026 : #else
; 6027 : 	*(float *)def = points;
; 6028 : #endif
; 6029 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Set_Damage_Points@@YAXPAEM@Z ENDP			; Set_Damage_Points
_TEXT	ENDS
PUBLIC	?Set_Death_Points@@YAXPAEM@Z			; Set_Death_Points
; Function compile flags: /Ogty
;	COMDAT ?Set_Death_Points@@YAXPAEM@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_points$ = 12						; size = 4
?Set_Death_Points@@YAXPAEM@Z PROC NEAR			; Set_Death_Points, COMDAT

; 6032 : {

	push	ebp
	mov	ebp, esp

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

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

; 6034 : 	{
; 6035 : 		return;
; 6036 : 	}
; 6037 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 6038 : 	if (!o)

	test	eax, eax
	je	SHORT $L82400

; 6039 : 	{
; 6040 : 		return;
; 6041 : 	}
; 6042 : 	unsigned int *def = (unsigned int *)(o+0x72C);
; 6043 : #ifdef WIN32
; 6044 : 	def+=0x8;
; 6045 : #else
; 6046 : #ifdef RH8
; 6047 : 	def+=0x8;
; 6048 : #else
; 6049 : #endif
; 6050 : 	def+=0x7;
; 6051 : #endif
; 6052 : #ifdef WIN32
; 6053 : 	void *def2 = (void *)*def;
; 6054 : 	Set_Safe_Data_Float_Ref(def2,points);

	mov	eax, DWORD PTR [eax+1868]
	lea	edx, DWORD PTR _points$[ebp]
	push	edx
	push	eax
	call	DWORD PTR ?Set_Safe_Data_Float_Ref@@3P6AXPAXAAM@ZA ; Set_Safe_Data_Float_Ref
	add	esp, 8
$L82400:

; 6055 : #else
; 6056 : 	*(float *)def = points;
; 6057 : #endif
; 6058 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Set_Death_Points@@YAXPAEM@Z ENDP			; Set_Death_Points
_TEXT	ENDS
PUBLIC	?Get_C4_Mode@@YAHPAE@Z				; Get_C4_Mode
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Mode@@YAHPAE@Z
_TEXT	SEGMENT
_mode$ = -8						; size = 4
_x$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_C4_Mode@@YAHPAE@Z PROC NEAR			; Get_C4_Mode, COMDAT

; 6061 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 6065 : 	}
; 6066 : 	GameObject *o = As_C4GameObj(obj);

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

; 6067 : 	if (!o)

	test	eax, eax

; 6068 : 	{
; 6069 : 		return 0;

	je	SHORT $L82411

; 6070 : 	}
; 6071 : 	unsigned int *def = (unsigned int *)(o+0x7C8);
; 6072 : 	unsigned int *x = (unsigned int *)*def;
; 6073 : 	x+=0x23;

	mov	ecx, DWORD PTR [eax+1992]
	add	ecx, 140				; 0000008cH
	mov	DWORD PTR _x$[ebp], ecx

; 6074 : 	int mode;
; 6075 : #ifdef WIN32
; 6076 : 	_asm {
; 6077 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 6078 : 		call Get_Safe_Data_Int

	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 6079 : 		mov mode, eax

	mov	DWORD PTR _mode$[ebp], eax

; 6080 : 	}
; 6081 : #else
; 6082 : 	mode = *(int *)x;
; 6083 : #endif
; 6084 : 	return mode;

	mov	eax, DWORD PTR _mode$[ebp]

; 6085 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L82411:

; 6063 : 	{
; 6064 : 		return 0;

	xor	eax, eax

; 6085 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_C4_Mode@@YAHPAE@Z ENDP				; Get_C4_Mode
_TEXT	ENDS
PUBLIC	?Get_IP_Port@@YAPBDH@Z				; Get_IP_Port
PUBLIC	??_C@_0P@FOCHHKCH@?$CFd?4?$CFd?4?$CFd?4?$CFd?$DL?$CFd?$AA@ ; `string'
EXTRN	__imp__ntohs@4:NEAR
;	COMDAT ??_C@_0P@FOCHHKCH@?$CFd?4?$CFd?4?$CFd?4?$CFd?$DL?$CFd?$AA@
CONST	SEGMENT
??_C@_0P@FOCHHKCH@?$CFd?4?$CFd?4?$CFd?4?$CFd?$DL?$CFd?$AA@ DB '%d.%d.%d.%'
	DB	'd;%d', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_IP_Port@@YAPBDH@Z
_TEXT	SEGMENT
_ip4$ = -12						; size = 4
_addr$ = -12						; size = 4
_temp$ = -8						; size = 4
_noaddr$ = -1						; size = 1
_PlayerID$ = 8						; size = 4
?Get_IP_Port@@YAPBDH@Z PROC NEAR			; Get_IP_Port, COMDAT

; 6088 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH
	push	ebx
	push	esi

; 6089 : 	sockaddr_in *addr;
; 6090 : 	bool noaddr = false;

	xor	ebx, ebx
	push	edi
	mov	BYTE PTR _noaddr$[ebp], bl

; 6091 : #ifdef WIN32
; 6092 : 	_asm {
; 6093 : 		push PlayerID

	push	DWORD PTR _PlayerID$[ebp]

; 6094 : 		mov eax,ServerConnection

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection

; 6095 : 		mov ecx,[eax]

	mov	ecx, DWORD PTR [eax]

; 6096 : 		call Get_Remote_Host

	call	DWORD PTR ?Get_Remote_Host@@3P6APADH@ZA	; Get_Remote_Host

; 6097 : 		test eax, eax

	test	eax, eax

; 6098 : 		jz loc1

	je	SHORT $loc1$82424

; 6099 : 		mov ecx,eax

	mov	ecx, eax

; 6100 : 		call Get_Address

	call	DWORD PTR ?Get_Address@@3P6APAUsockaddr_in@@XZA ; Get_Address

; 6101 : 		mov addr,eax

	mov	DWORD PTR _addr$[ebp], eax

; 6102 : 		jmp loc2

	jmp	SHORT $loc2$82425
$loc1$82424:

; 6103 : loc1:
; 6104 : 		mov noaddr,1

	mov	BYTE PTR _noaddr$[ebp], 1
$loc2$82425:

; 6105 : loc2:
; 6106 : 	}
; 6107 : #else
; 6108 : 	char *RemoteHost = Get_Remote_Host(*ServerConnection,PlayerID);
; 6109 : 	if (RemoteHost)
; 6110 : 	{
; 6111 : 		addr = Get_Address(RemoteHost);
; 6112 : 	}
; 6113 : 	else
; 6114 : 	{
; 6115 : 		noaddr = true;
; 6116 : 	}
; 6117 : #endif
; 6118 : 	char *temp;
; 6119 : 	temp = new char[40];

	cmp	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, ebx	; RenVecNew
	jne	SHORT $L87435
	call	_Init
$L87435:
	push	40					; 00000028H
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	mov	DWORD PTR _temp$[ebp], eax

; 6120 : 	int ip1,ip2,ip3,ip4,port;
; 6121 : 	if (!noaddr)

	mov	al, BYTE PTR _noaddr$[ebp]
	add	esp, 4
	cmp	al, bl
	jne	SHORT $L82434

; 6122 : 	{
; 6123 : 		ip1 = addr->sin_addr.s_addr&0x000000FF;

	mov	eax, DWORD PTR _addr$[ebp]

; 6124 : 		ip2 = (addr->sin_addr.s_addr&0x0000FF00)>>8;
; 6125 : 		ip3 = (addr->sin_addr.s_addr&0x00FF0000)>>16;
; 6126 : 		ip4 = (addr->sin_addr.s_addr&0xFF000000)>>24;

	movzx	ecx, BYTE PTR [eax+7]
	mov	esi, DWORD PTR [eax+4]
	movzx	edi, BYTE PTR [eax+5]
	movzx	ebx, BYTE PTR [eax+6]

; 6127 : 		port = ntohs(addr->sin_port);

	xor	edx, edx
	mov	dx, WORD PTR [eax+2]
	and	esi, 255				; 000000ffH
	mov	DWORD PTR _ip4$[ebp], ecx
	push	edx
	call	DWORD PTR __imp__ntohs@4

; 6128 : 	}
; 6129 : 	else

	mov	ecx, DWORD PTR _ip4$[ebp]
	movzx	eax, ax
	jmp	SHORT $L82435
$L82434:

; 6130 : 	{
; 6131 : 		ip1 = 0;

	xor	esi, esi

; 6132 : 		ip2 = 0;

	xor	edi, edi

; 6133 : 		ip3 = 0;
; 6134 : 		ip4 = 0;

	xor	ecx, ecx

; 6135 : 		port = 0;

	xor	eax, eax
$L82435:

; 6136 : 	}
; 6137 : 	sprintf(temp,"%d.%d.%d.%d;%d",ip1,ip2,ip3,ip4,port);

	push	eax
	mov	eax, DWORD PTR _temp$[ebp]
	push	ecx
	push	ebx
	push	edi
	push	esi
	push	OFFSET FLAT:??_C@_0P@FOCHHKCH@?$CFd?4?$CFd?4?$CFd?4?$CFd?$DL?$CFd?$AA@
	push	eax
	call	_sprintf

; 6138 : 	return temp;

	mov	eax, DWORD PTR _temp$[ebp]
	add	esp, 28					; 0000001cH

; 6139 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_IP_Port@@YAPBDH@Z ENDP				; Get_IP_Port
_TEXT	ENDS
PUBLIC	?Repair_All_Buildings_By_Team_Radius@@YAXHHMM@Z	; Repair_All_Buildings_By_Team_Radius
; Function compile flags: /Ogty
;	COMDAT ?Repair_All_Buildings_By_Team_Radius@@YAXHHMM@Z
_TEXT	SEGMENT
$T87443 = -52						; size = 12
_pos1$82455 = -40					; size = 12
$T87441 = -40						; size = 12
_pos2$82457 = -28					; size = 12
_Location$ = -16					; size = 12
$T87449 = -4						; size = 4
_amount$82453 = -4					; size = 4
_o$82449 = -4						; size = 4
_Team$ = 8						; size = 4
_ConstructionYardID$ = 12				; size = 4
_Health$ = 16						; size = 4
_Radius$ = 20						; size = 4
?Repair_All_Buildings_By_Team_Radius@@YAXHHMM@Z PROC NEAR ; Repair_All_Buildings_By_Team_Radius, COMDAT

; 6142 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 52					; 00000034H

; 6143 : 	Vector3 Location = Commands->Get_Position(Commands->Find_Object(ConstructionYardID));

	mov	ecx, DWORD PTR _ConstructionYardID$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	push	edi
	push	ecx
	lea	esi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T87441[ebp]
	push	edx
	call	DWORD PTR [esi]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _Location$[ebp], ecx

; 6144 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A ; BuildingGameObjList
	mov	edi, DWORD PTR [ecx+4]
	add	esp, 12					; 0000000cH

; 6145 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Location$[ebp+4], edx
	mov	DWORD PTR _Location$[ebp+8], eax
	je	$L82448
$L82447:

; 6146 : 	{
; 6147 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87449[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82459
	test	esi, esi
	je	$L82459
	mov	ecx, DWORD PTR $T87449[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 6148 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$82449[ebp], esi
	je	$L82459

; 6149 : 		{
; 6150 : 			if ((Get_Object_Type(o) == Team) && (Commands->Get_ID(o) != ConstructionYardID))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87463
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87463
	mov	ecx, DWORD PTR _o$82449[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87463
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87461
$L87463:
	xor	eax, eax
$L87461:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	$L82459
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	mov	ecx, DWORD PTR _ConstructionYardID$[ebp]
	add	esp, 4
	cmp	eax, ecx
	je	$L82459

; 6151 : 			{
; 6152 : 				float amount = Commands->Get_Health(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+220]
	fst	DWORD PTR _amount$82453[ebp]

; 6153 : 				if (amount>0)

	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L82459

; 6154 : 				{
; 6155 : 					Vector3 pos1 = Commands->Get_Position(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T87443[ebp]
	push	esi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos1$82455[ebp], ecx
	mov	edx, DWORD PTR [eax+4]

; 6156 : 					Vector3 pos2 = Location;

	mov	ecx, DWORD PTR _Location$[ebp]
	mov	DWORD PTR _pos1$82455[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _Location$[ebp+4]
	mov	DWORD PTR _pos1$82455[ebp+8], eax
	mov	eax, DWORD PTR _Location$[ebp+8]
	mov	DWORD PTR _pos2$82457[ebp], ecx

; 6157 : 					float Distance = Commands->Get_Distance(pos1,pos2);

	lea	ecx, DWORD PTR _pos2$82457[ebp]
	mov	DWORD PTR _pos2$82457[ebp+4], edx
	push	ecx
	lea	edx, DWORD PTR _pos1$82455[ebp]
	mov	DWORD PTR _pos2$82457[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 6158 : 					if (Distance <= Radius)

	fcomp	DWORD PTR _Radius$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jp	SHORT $L82459

; 6159 : 					{
; 6160 : 						Commands->Set_Health(o,(amount+Health));

	fld	DWORD PTR _amount$82453[ebp]
	push	ecx
	fadd	DWORD PTR _Health$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [ecx+228]
	add	esp, 8
$L82459:

; 6161 : 					}
; 6162 : 				}
; 6163 : 			}
; 6164 : 		}
; 6165 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82447
$L82448:

; 6166 : 	}
; 6167 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Repair_All_Buildings_By_Team_Radius@@YAXHHMM@Z ENDP	; Repair_All_Buildings_By_Team_Radius
_TEXT	ENDS
PUBLIC	?Get_Translated_String@@YAPBDK@Z		; Get_Translated_String
PUBLIC	??_C@_09MJONCACI@No?5String?$AA@		; `string'
;	COMDAT ??_C@_09MJONCACI@No?5String?$AA@
CONST	SEGMENT
??_C@_09MJONCACI@No?5String?$AA@ DB 'No String', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Translated_String@@YAPBDK@Z
_TEXT	SEGMENT
_ID$ = 8						; size = 4
?Get_Translated_String@@YAPBDK@Z PROC NEAR		; Get_Translated_String, COMDAT

; 6171 : 	if (ID < 1000)

	mov	eax, DWORD PTR _ID$[esp-4]
	cmp	eax, 1000				; 000003e8H
	jae	SHORT $L82463

; 6172 : 	{
; 6173 : 		return "No String";

	mov	eax, OFFSET FLAT:??_C@_09MJONCACI@No?5String?$AA@

; 6176 : }

	ret	0
$L82463:
	push	ebx
	push	esi

; 6174 : 	}
; 6175 : 	return WideCharToChar(Get_TDB_Object(ID-1000)->Get_String()->m_Buffer);

	add	eax, -1000				; fffffc18H
	push	edi
	push	eax
	call	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA ; Get_TDB_Object
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+28]
	mov	esi, DWORD PTR [eax]
	push	esi
	call	_wcslen
	mov	edi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	test	eax, eax
	jne	SHORT $L87485
	call	_Init
$L87485:
	inc	edi
	push	edi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	push	edi
	mov	ebx, eax
	push	esi
	push	ebx
	call	_wcstombs
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx

; 6176 : }

	ret	0
?Get_Translated_String@@YAPBDK@Z ENDP			; Get_Translated_String
_TEXT	ENDS
PUBLIC	?Get_Wide_Translated_String@@YAPB_WK@Z		; Get_Wide_Translated_String
PUBLIC	??_C@_1BE@PJAIDCO@?$AAN?$AAo?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@ ; `string'
;	COMDAT ??_C@_1BE@PJAIDCO@?$AAN?$AAo?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@PJAIDCO@?$AAN?$AAo?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@ DB 'N'
	DB	00H, 'o', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'r', 00H, 'i', 00H
	DB	'n', 00H, 'g', 00H, 00H, 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Wide_Translated_String@@YAPB_WK@Z
_TEXT	SEGMENT
_ID$ = 8						; size = 4
?Get_Wide_Translated_String@@YAPB_WK@Z PROC NEAR	; Get_Wide_Translated_String, COMDAT

; 6180 : 	if (ID < 1000)

	mov	eax, DWORD PTR _ID$[esp-4]
	cmp	eax, 1000				; 000003e8H
	jae	SHORT $L82468

; 6181 : 	{
; 6182 : 		return L"No String";

	mov	eax, OFFSET FLAT:??_C@_1BE@PJAIDCO@?$AAN?$AAo?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@

; 6185 : }

	ret	0
$L82468:

; 6183 : 	}
; 6184 : 	return Get_TDB_Object(ID-1000)->Get_String()->m_Buffer;

	add	eax, -1000				; fffffc18H
	push	eax
	call	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA ; Get_TDB_Object
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+28]
	mov	eax, DWORD PTR [eax]

; 6185 : }

	ret	0
?Get_Wide_Translated_String@@YAPB_WK@Z ENDP		; Get_Wide_Translated_String
_TEXT	ENDS
PUBLIC	?Get_Translated_Preset_Name@@YAPBDPAE@Z		; Get_Translated_Preset_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_Translated_Preset_Name@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Translated_Preset_Name@@YAPBDPAE@Z PROC NEAR	; Get_Translated_Preset_Name, COMDAT

; 6188 : {

	push	ebp
	mov	ebp, esp

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

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

; 6190 : 	{
; 6191 : 		return "";
; 6192 : 	}
; 6193 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 6194 : 	if (!o)

	test	eax, eax

; 6195 : 	{
; 6196 : 		return "";

	je	SHORT $L82474

; 6197 : 	}
; 6198 : 	DefinitionClass *d = Get_Definition(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87507
	mov	eax, DWORD PTR [esi+1724]

; 6199 : 	char *c = (char *)d;
; 6200 : 	c += 0x70;
; 6201 : 	unsigned long ID = *(unsigned long *)c;

	mov	eax, DWORD PTR [eax+112]

; 6202 : 	return Get_Translated_String(ID);

	push	eax
	call	?Get_Translated_String@@YAPBDK@Z	; Get_Translated_String
	add	esp, 4

; 6203 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0

; 6197 : 	}
; 6198 : 	DefinitionClass *d = Get_Definition(obj);

$L87507:
	xor	eax, eax

; 6199 : 	char *c = (char *)d;
; 6200 : 	c += 0x70;
; 6201 : 	unsigned long ID = *(unsigned long *)c;

	mov	eax, DWORD PTR [eax+112]

; 6202 : 	return Get_Translated_String(ID);

	push	eax
	call	?Get_Translated_String@@YAPBDK@Z	; Get_Translated_String
	add	esp, 4

; 6203 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82474:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	pop	ebx
	pop	ebp
	ret	0
?Get_Translated_Preset_Name@@YAPBDPAE@Z ENDP		; Get_Translated_Preset_Name
_TEXT	ENDS
PUBLIC	?Get_C4_Count_Proximity@@YAHH@Z			; Get_C4_Count_Proximity
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Count_Proximity@@YAHH@Z
_TEXT	SEGMENT
_o$82526 = -16						; size = 4
_mode$87544 = -12					; size = 4
_x$87543 = -8						; size = 4
_o2$87533 = -8						; size = 4
$T87518 = -8						; size = 4
$T87517 = -8						; size = 4
_Total$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_C4_Count_Proximity@@YAHH@Z PROC NEAR		; Get_C4_Count_Proximity, COMDAT

; 6257 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 16					; 00000010H

; 6258 : 	int Total = 0;
; 6259 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 6260 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], eax
	je	$L82525
	npad	1
$L82524:

; 6261 : 	{
; 6262 : 		GameObject *o = As_C4GameObj(As_ScriptableGameObj((GameObject *)x->NodeData));

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87517[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87516
	test	esi, esi
	je	SHORT $L87516
	mov	ecx, DWORD PTR $T87517[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L87572
$L87516:
	xor	esi, esi
$L87572:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87518[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L82529
	test	esi, esi
	je	$L82529
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82529
	mov	ecx, DWORD PTR $T87518[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$87533[ebp], eax
	je	$L82529
	mov	ecx, DWORD PTR _o2$87533[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+140]
	call	eax
	mov	esi, eax

; 6263 : 		if (o && Get_C4_Mode(o) == 3)

	test	esi, esi
	mov	DWORD PTR _o$82526[ebp], esi
	je	$L82529
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82529
	push	esi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L82529
	mov	eax, DWORD PTR [eax+1992]
	add	eax, 140				; 0000008cH
	mov	DWORD PTR _x$87543[ebp], eax
	mov	ecx, DWORD PTR _x$87543[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _mode$87544[ebp], eax
	cmp	DWORD PTR _mode$87544[ebp], 3
	jne	SHORT $L82529

; 6264 : 		{
; 6265 : 			if (Team == 2 || Get_Object_Type(o) == Team)

	cmp	DWORD PTR _Team$[ebp], 2
	je	SHORT $L82530
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87559
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87559
	mov	ecx, DWORD PTR _o$82526[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87559
	mov	esi, DWORD PTR [esi+1892]
	jmp	SHORT $L87557
$L87559:
	xor	esi, esi
$L87557:
	cmp	esi, DWORD PTR _Team$[ebp]
	jne	SHORT $L82529
$L82530:

; 6266 : 			{
; 6267 : 				Total++;

	inc	DWORD PTR _Total$[ebp]
$L82529:

; 6268 : 			}
; 6269 : 		}
; 6270 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82524

; 6271 : 	}
; 6272 : 	return Total;

	mov	eax, DWORD PTR _Total$[ebp]
$L82525:

; 6273 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_C4_Count_Proximity@@YAHH@Z ENDP			; Get_C4_Count_Proximity
_TEXT	ENDS
PUBLIC	?Get_C4_Count_Remote@@YAHH@Z			; Get_C4_Count_Remote
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Count_Remote@@YAHH@Z
_TEXT	SEGMENT
_o$82539 = -16						; size = 4
_mode$87606 = -12					; size = 4
_x$87605 = -8						; size = 4
_o2$87593 = -8						; size = 4
$T87581 = -8						; size = 4
$T87580 = -8						; size = 4
_Total$ = -4						; size = 4
_Team$ = 8						; size = 4
?Get_C4_Count_Remote@@YAHH@Z PROC NEAR			; Get_C4_Count_Remote, COMDAT

; 6276 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 16					; 00000010H

; 6277 : 	int Total = 0;
; 6278 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 6279 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _Total$[ebp], eax
	je	$L82538
	npad	1
$L82537:

; 6280 : 	{
; 6281 : 		GameObject *o = As_C4GameObj(As_ScriptableGameObj((GameObject *)x->NodeData));

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87580[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87579
	test	esi, esi
	je	SHORT $L87579
	mov	ecx, DWORD PTR $T87580[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L87635
$L87579:
	xor	esi, esi
$L87635:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87581[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L82542
	test	esi, esi
	je	$L82542
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82542
	mov	ecx, DWORD PTR $T87581[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$87593[ebp], eax
	je	$L82542
	mov	ecx, DWORD PTR _o2$87593[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+140]
	call	eax
	mov	esi, eax

; 6282 : 		if (o && Get_C4_Mode(o) == 1)

	test	esi, esi
	mov	DWORD PTR _o$82539[ebp], esi
	je	$L82542
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82542
	push	esi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L82542
	mov	eax, DWORD PTR [eax+1992]
	add	eax, 140				; 0000008cH
	mov	DWORD PTR _x$87605[ebp], eax
	mov	ecx, DWORD PTR _x$87605[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _mode$87606[ebp], eax
	cmp	DWORD PTR _mode$87606[ebp], 1
	jne	SHORT $L82542

; 6283 : 		{
; 6284 : 			if (Team == 2 || Get_Object_Type(o) == Team)

	cmp	DWORD PTR _Team$[ebp], 2
	je	SHORT $L82543
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87622
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87622
	mov	ecx, DWORD PTR _o$82539[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87622
	mov	esi, DWORD PTR [esi+1892]
	jmp	SHORT $L87620
$L87622:
	xor	esi, esi
$L87620:
	cmp	esi, DWORD PTR _Team$[ebp]
	jne	SHORT $L82542
$L82543:

; 6285 : 			{
; 6286 : 				Total++;

	inc	DWORD PTR _Total$[ebp]
$L82542:

; 6287 : 			}
; 6288 : 		}
; 6289 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82537

; 6290 : 	}
; 6291 : 	return Total;

	mov	eax, DWORD PTR _Total$[ebp]
$L82538:

; 6292 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_C4_Count_Remote@@YAHH@Z ENDP			; Get_C4_Count_Remote
_TEXT	ENDS
PUBLIC	?stristr@@YAPADPBD0@Z				; stristr
; Function compile flags: /Ogty
;	COMDAT ?stristr@@YAPADPBD0@Z
_TEXT	SEGMENT
_m_pStr1$ = 8						; size = 4
_m_pStr2$ = 12						; size = 4
?stristr@@YAPADPBD0@Z PROC NEAR				; stristr, COMDAT

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

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

; 6347 : 	register char *m_pS1, *m_pS2;
; 6348 : 	while (*m_pCP)

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

; 6349 : 	{
; 6350 : 		m_pS1 = m_pCP;
; 6351 : 		m_pS2 = (char *) m_pStr2;
; 6352 : 		while (*m_pS1 && *m_pS2 && !(LOWER(*m_pS1) - LOWER(*m_pS2)))

	test	cl, cl
	mov	esi, ebp
	je	SHORT $L82593
	npad	2
$L82592:
	mov	bl, BYTE PTR [esi]
	test	bl, bl
	je	SHORT $L82582
	mov	cl, BYTE PTR [edi+esi]
	cmp	cl, 65					; 00000041H
	jl	SHORT $L87638
	cmp	cl, 90					; 0000005aH
	jg	SHORT $L87638
	movsx	edx, cl
	add	edx, 32					; 00000020H
	jmp	SHORT $L87639
$L87638:
	movsx	edx, cl
$L87639:
	cmp	bl, 65					; 00000041H
	jl	SHORT $L87640
	cmp	bl, 90					; 0000005aH
	jg	SHORT $L87640
	movsx	ecx, bl
	add	ecx, 32					; 00000020H
	jmp	SHORT $L87641
$L87640:
	movsx	ecx, bl
$L87641:
	sub	edx, ecx
	jne	SHORT $L82593
	mov	cl, BYTE PTR [edi+esi+1]

; 6353 : 		{
; 6354 : 			m_pS1++, m_pS2++;

	inc	esi
	test	cl, cl
	jne	SHORT $L82592
$L82593:

; 6355 : 		}
; 6356 : 		if (!*m_pS2)

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

; 6357 : 		{
; 6358 : 			return m_pCP;
; 6359 : 		}
; 6360 : 		m_pCP++;

	inc	eax
	inc	edi
	test	cl, cl
	jne	SHORT $L82588
$L82589:

; 6361 : 	}
; 6362 : 	return NULL;

	xor	eax, eax
$L82582:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx

; 6363 : }

	ret	0
?stristr@@YAPADPBD0@Z ENDP				; stristr
_TEXT	ENDS
PUBLIC	?Get_C4_Planter@@YAPAEPAE@Z			; Get_C4_Planter
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Planter@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_C4_Planter@@YAPAEPAE@Z PROC NEAR			; Get_C4_Planter, COMDAT

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

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

; 6420 : 	}
; 6421 : 	GameObject *o = As_C4GameObj(obj);

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

; 6422 : 	if (!o)

	test	eax, eax

; 6423 : 	{
; 6424 : 		return 0;

	je	SHORT $L82629

; 6425 : 	}
; 6426 : 	char *c = (char *)obj;
; 6427 : 	c += 0x7BC;
; 6428 : 	RefStruct *r = *(RefStruct **)c;

	mov	eax, DWORD PTR [esi+1980]

; 6429 : 	if (r)

	test	eax, eax
	je	SHORT $L82629

; 6430 : 	{
; 6431 : 		return r->obj;

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

; 6432 : 	}
; 6433 : 	return 0;
; 6434 : }

	ret	0
$L82629:

; 6418 : 	{
; 6419 : 		return 0;

	xor	eax, eax
	pop	esi

; 6432 : 	}
; 6433 : 	return 0;
; 6434 : }

	ret	0
?Get_C4_Planter@@YAPAEPAE@Z ENDP			; Get_C4_Planter
_TEXT	ENDS
PUBLIC	?Get_C4_Attached@@YAPAEPAE@Z			; Get_C4_Attached
; Function compile flags: /Ogty
;	COMDAT ?Get_C4_Attached@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_C4_Attached@@YAPAEPAE@Z PROC NEAR			; Get_C4_Attached, COMDAT

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

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

; 6441 : 	}
; 6442 : 	GameObject *o = As_C4GameObj(obj);

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

; 6443 : 	if (!o)

	test	eax, eax

; 6444 : 	{
; 6445 : 		return 0;

	je	SHORT $L82641

; 6446 : 	}
; 6447 : 	char *c = (char *)obj;
; 6448 : 	c += 0x7DC;
; 6449 : 	RefStruct *r = *(RefStruct **)c;

	mov	eax, DWORD PTR [esi+2012]

; 6450 : 	if (r)

	test	eax, eax
	je	SHORT $L82641

; 6451 : 	{
; 6452 : 		return r->obj;

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

; 6453 : 	}
; 6454 : 	return 0;
; 6455 : }

	ret	0
$L82641:

; 6439 : 	{
; 6440 : 		return 0;

	xor	eax, eax
	pop	esi

; 6453 : 	}
; 6454 : 	return 0;
; 6455 : }

	ret	0
?Get_C4_Attached@@YAPAEPAE@Z ENDP			; Get_C4_Attached
_TEXT	ENDS
PUBLIC	?Get_Beacon_Planter@@YAPAEPAE@Z			; Get_Beacon_Planter
; Function compile flags: /Ogty
;	COMDAT ?Get_Beacon_Planter@@YAPAEPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Beacon_Planter@@YAPAEPAE@Z PROC NEAR		; Get_Beacon_Planter, COMDAT

; 6458 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 6460 : 	{
; 6461 : 		return 0;
; 6462 : 	}
; 6463 : 	GameObject *o = As_BeaconGameObj(obj);

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

; 6464 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax

; 6465 : 	{
; 6466 : 		return 0;

	je	SHORT $L82653

; 6467 : 	}
; 6468 : #ifdef WIN32
; 6469 : 	_asm {
; 6470 : 		mov ecx,o

	mov	ecx, DWORD PTR _o$[ebp]

; 6471 : 		mov ebx,Get_Beacon_Owner

	mov	ebx, DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA ; Get_Beacon_Owner

; 6472 : 		call ebx

	call	ebx

; 6473 : 	}
; 6474 : #else
; 6475 : 	Get_Beacon_Owner(o);
; 6476 : #endif
; 6477 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82653:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Beacon_Planter@@YAPAEPAE@Z ENDP			; Get_Beacon_Planter
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Mode@@YAIPAE@Z			; Get_Vehicle_Mode
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Mode@@YAIPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Mode@@YAIPAE@Z PROC NEAR			; Get_Vehicle_Mode, COMDAT

; 6480 : {

	push	ebp
	mov	ebp, esp

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

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

; 6482 : 	{
; 6483 : 		return 0;
; 6484 : 	}
; 6485 : 	GameObject *o = As_VehicleGameObj(obj);

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

; 6486 : 	if (!o)

	test	eax, eax

; 6487 : 	{
; 6488 : 		return 0;

	je	SHORT $L82660

; 6489 : 	}
; 6490 : 	DefinitionClass *d = Get_Definition(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87667
	mov	esi, DWORD PTR [esi+1724]

; 6491 : 	char *c = (char *)d;
; 6492 : 	c += 0xE0;
; 6493 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [esi+224]

; 6494 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0

; 6489 : 	}
; 6490 : 	DefinitionClass *d = Get_Definition(obj);

$L87667:
	xor	esi, esi

; 6491 : 	char *c = (char *)d;
; 6492 : 	c += 0xE0;
; 6493 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [esi+224]

; 6494 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82660:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Mode@@YAIPAE@Z ENDP			; Get_Vehicle_Mode
_TEXT	ENDS
PUBLIC	?Repair_All_Turrets_By_Team@@YAXHM@Z		; Repair_All_Turrets_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Repair_All_Turrets_By_Team@@YAXHM@Z
_TEXT	SEGMENT
$T87677 = -4						; size = 4
_o$82675 = -4						; size = 4
_team$ = 8						; size = 4
_health$ = 12						; size = 4
?Repair_All_Turrets_By_Team@@YAXHM@Z PROC NEAR		; Repair_All_Turrets_By_Team, COMDAT

; 6497 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 6498 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 6499 : 	while (x)

	test	edi, edi
	je	$L82674
	npad	9
$L82673:

; 6500 : 	{
; 6501 : 		GameObject *o = As_VehicleGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87677[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82681
	test	esi, esi
	je	$L82681
	mov	ecx, DWORD PTR $T87677[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	mov	esi, eax

; 6502 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$82675[ebp], esi
	je	$L82681

; 6503 : 		{
; 6504 : 			if (Get_Object_Type(o) == team && (Get_Vehicle_Mode(o) == TURRET))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87691
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87691
	mov	ecx, DWORD PTR _o$82675[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L87691
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L87689
$L87691:
	xor	eax, eax
$L87689:
	cmp	eax, DWORD PTR _team$[ebp]
	jne	SHORT $L82681
	push	esi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 4
	jne	SHORT $L82681

; 6505 : 			{
; 6506 : 				float amount = Commands->Get_Health(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+220]

; 6507 : 				if (amount>0)

	fcom	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L87700

; 6508 : 				{
; 6509 : 					Commands->Set_Health(o,(amount+health));

	fadd	DWORD PTR _health$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [edx+228]
	add	esp, 8
	jmp	SHORT $L82680
$L87700:
	fstp	ST(0)
$L82680:

; 6510 : 				}
; 6511 : 				amount = Commands->Get_Shield_Strength(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+232]

; 6512 : 				if (amount>0)

	fcom	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L87699

; 6513 : 				{
; 6514 : 					Commands->Set_Shield_Strength(o,(amount+health));

	fadd	DWORD PTR _health$[ebp]
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR [esp]
	push	esi
	call	DWORD PTR [ecx+240]
	add	esp, 8
	jmp	SHORT $L82681
$L87699:
	fstp	ST(0)
$L82681:

; 6515 : 				}
; 6516 : 			}
; 6517 : 		}
; 6518 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L82673
$L82674:

; 6519 : 	}
; 6520 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Repair_All_Turrets_By_Team@@YAXHM@Z ENDP		; Repair_All_Turrets_By_Team
_TEXT	ENDS
PUBLIC	?Get_Team_Color@@YAXIPAI00@Z			; Get_Team_Color
PUBLIC	__real@437f0000
EXTRN	__ftol2:NEAR
;	COMDAT __real@437f0000
CONST	SEGMENT
__real@437f0000 DD 0437f0000r			; 255
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Team_Color@@YAXIPAI00@Z
_TEXT	SEGMENT
_v$ = -12						; size = 12
_team$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
?Get_Team_Color@@YAXIPAI00@Z PROC NEAR			; Get_Team_Color, COMDAT

; 6524 : 	Vector3 v;
; 6525 : 	Get_Color_For_Team(&v,team);

	mov	eax, DWORD PTR _team$[esp-4]
	sub	esp, 12					; 0000000cH
	push	eax
	lea	ecx, DWORD PTR _v$[esp+16]
	push	ecx
	call	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA ; Get_Color_For_Team

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

	fld	DWORD PTR _v$[esp+20]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2

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

	fld	DWORD PTR _v$[esp+24]
	mov	edx, DWORD PTR _red$[esp+16]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [edx], eax
	call	__ftol2

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

	fld	DWORD PTR _v$[esp+28]
	mov	ecx, DWORD PTR _green$[esp+16]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [ecx], eax
	call	__ftol2
	mov	edx, DWORD PTR _blue$[esp+16]
	mov	DWORD PTR [edx], eax

; 6529 : }

	add	esp, 20					; 00000014H
	ret	0
?Get_Team_Color@@YAXIPAI00@Z ENDP			; Get_Team_Color
_TEXT	ENDS
PUBLIC	?Get_Player_Color@@YAXHPAI00@Z			; Get_Player_Color
; Function compile flags: /Ogty
;	COMDAT ?Get_Player_Color@@YAXHPAI00@Z
_TEXT	SEGMENT
_v$ = -20						; size = 12
_x$ = -8						; size = 4
_v2$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
?Get_Player_Color@@YAXHPAI00@Z PROC NEAR		; Get_Player_Color, COMDAT

; 6532 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 20					; 00000014H

; 6533 : 	Vector3 v;
; 6534 : 	Vector3 *v2 = &v;
; 6535 : 	unsigned char *x = FindPlayer(PlayerID);

	mov	ecx, DWORD PTR _PlayerID$[ebp]
	push	ebx
	lea	eax, DWORD PTR _v$[ebp]
	push	ecx
	mov	DWORD PTR _v2$[ebp], eax
	call	DWORD PTR ?FindPlayer@@3P6APAEH@ZA	; FindPlayer
	add	esp, 4

; 6536 : 	if (!x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	SHORT $L82697

; 6537 : 	{
; 6538 : 		return;
; 6539 : 	}
; 6540 : #ifdef WIN32
; 6541 : 	_asm {
; 6542 : 		mov ecx, x

	mov	ecx, DWORD PTR _x$[ebp]

; 6543 : 		mov ebx, GetColor

	mov	ebx, DWORD PTR ?GetColor@@3P6AXPAUVector3@@@ZA ; GetColor

; 6544 : 		push v2

	push	DWORD PTR _v2$[ebp]

; 6545 : 		call ebx

	call	ebx

; 6546 : 	}
; 6547 : #else
; 6548 : 	GetColor(v2,x);
; 6549 : #endif
; 6550 : 	*red = (unsigned int)(v.X*255);

	fld	DWORD PTR _v$[ebp]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2

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

	fld	DWORD PTR _v$[ebp+4]
	mov	edx, DWORD PTR _red$[ebp]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [edx], eax
	call	__ftol2

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

	fld	DWORD PTR _v$[ebp+8]
	mov	ecx, DWORD PTR _green$[ebp]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [ecx], eax
	call	__ftol2
	mov	edx, DWORD PTR _blue$[ebp]
	mov	DWORD PTR [edx], eax
$L82697:

; 6553 : }

	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Player_Color@@YAXHPAI00@Z ENDP			; Get_Player_Color
_TEXT	ENDS
PUBLIC	?Get_Object_Color@@YAXPAEPAI11@Z		; Get_Object_Color
; Function compile flags: /Ogty
;	COMDAT ?Get_Object_Color@@YAXPAEPAI11@Z
_TEXT	SEGMENT
_v$ = -20						; size = 12
_o$ = -8						; size = 4
_v2$ = -4						; size = 4
_obj$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
?Get_Object_Color@@YAXPAEPAI11@Z PROC NEAR		; Get_Object_Color, COMDAT

; 6556 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 20					; 00000014H

; 6557 : 	Vector3 v;
; 6558 : 	Vector3 *v2 = &v;
; 6559 : 	if (!Commands->Get_ID(obj) || !obj)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	lea	eax, DWORD PTR _v$[ebp]
	push	esi
	mov	DWORD PTR _v2$[ebp], eax
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82714
	test	esi, esi
	je	SHORT $L82714

; 6560 : 	{
; 6561 : 		return;
; 6562 : 	}
; 6563 : 	GameObject *o = As_DamageableGameObj(obj);

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

; 6564 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax
	je	SHORT $L82714

; 6565 : 	{
; 6566 : 		return;
; 6567 : 	}
; 6568 : #ifdef WIN32
; 6569 : 	_asm {
; 6570 : 		mov ecx,o

	mov	ecx, DWORD PTR _o$[ebp]

; 6571 : 		mov ebx,Get_Obj_Color

	mov	ebx, DWORD PTR ?Get_Obj_Color@@3P6AXPAUVector3@@@ZA ; Get_Obj_Color

; 6572 : 		push v2

	push	DWORD PTR _v2$[ebp]

; 6573 : 		call ebx

	call	ebx

; 6574 : 	}
; 6575 : #else
; 6576 : 	Get_Obj_Color(v2,o);
; 6577 : #endif
; 6578 : 	*red = (unsigned int)(v.X*255);

	fld	DWORD PTR _v$[ebp]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2

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

	fld	DWORD PTR _v$[ebp+4]
	mov	ecx, DWORD PTR _red$[ebp]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [ecx], eax
	call	__ftol2

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

	fld	DWORD PTR _v$[ebp+8]
	mov	edx, DWORD PTR _green$[ebp]
	fmul	DWORD PTR __real@437f0000
	mov	DWORD PTR [edx], eax
	call	__ftol2
	mov	ecx, DWORD PTR _blue$[ebp]
	mov	DWORD PTR [ecx], eax
$L82714:

; 6581 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Object_Color@@YAXPAEPAI11@Z ENDP			; Get_Object_Color
_TEXT	ENDS
PUBLIC	?Get_Private_Message_Color@@YAXPAI00@Z		; Get_Private_Message_Color
; Function compile flags: /Ogty
;	COMDAT ?Get_Private_Message_Color@@YAXPAI00@Z
_TEXT	SEGMENT
_red$ = 8						; size = 4
_green$ = 12						; size = 4
_blue$ = 16						; size = 4
?Get_Private_Message_Color@@YAXPAI00@Z PROC NEAR	; Get_Private_Message_Color, COMDAT

; 6585 : 	*red = (unsigned int)(PrivateMessageColor[0]*255);

	mov	eax, DWORD PTR ?PrivateMessageColor@@3PAMA ; PrivateMessageColor
	fld	DWORD PTR [eax]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _red$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6586 : 	*green = (unsigned int)(PrivateMessageColor[1]*255);

	mov	edx, DWORD PTR ?PrivateMessageColor@@3PAMA ; PrivateMessageColor
	fld	DWORD PTR [edx+4]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _green$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6587 : 	*blue = (unsigned int)(PrivateMessageColor[2]*255);

	mov	edx, DWORD PTR ?PrivateMessageColor@@3PAMA ; PrivateMessageColor
	fld	DWORD PTR [edx+8]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _blue$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6588 : }

	ret	0
?Get_Private_Message_Color@@YAXPAI00@Z ENDP		; Get_Private_Message_Color
_TEXT	ENDS
PUBLIC	?Get_Public_Message_Color@@YAXPAI00@Z		; Get_Public_Message_Color
; Function compile flags: /Ogty
;	COMDAT ?Get_Public_Message_Color@@YAXPAI00@Z
_TEXT	SEGMENT
_red$ = 8						; size = 4
_green$ = 12						; size = 4
_blue$ = 16						; size = 4
?Get_Public_Message_Color@@YAXPAI00@Z PROC NEAR		; Get_Public_Message_Color, COMDAT

; 6592 : 	*red = (unsigned int)(PublicMessageColor[0]*255);

	mov	eax, DWORD PTR ?PublicMessageColor@@3PAMA ; PublicMessageColor
	fld	DWORD PTR [eax]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _red$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6593 : 	*green = (unsigned int)(PublicMessageColor[1]*255);

	mov	edx, DWORD PTR ?PublicMessageColor@@3PAMA ; PublicMessageColor
	fld	DWORD PTR [edx+4]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _green$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6594 : 	*blue = (unsigned int)(PublicMessageColor[2]*255);

	mov	edx, DWORD PTR ?PublicMessageColor@@3PAMA ; PublicMessageColor
	fld	DWORD PTR [edx+8]
	fmul	DWORD PTR __real@437f0000
	call	__ftol2
	mov	ecx, DWORD PTR _blue$[esp-4]
	mov	DWORD PTR [ecx], eax

; 6595 : }

	ret	0
?Get_Public_Message_Color@@YAXPAI00@Z ENDP		; Get_Public_Message_Color
_TEXT	ENDS
PUBLIC	?Disarm_C4@@YAXPAE@Z				; Disarm_C4
; Function compile flags: /Ogty
;	COMDAT ?Disarm_C4@@YAXPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Disarm_C4@@YAXPAE@Z PROC NEAR				; Disarm_C4, COMDAT

; 6598 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 6600 : 	{
; 6601 : 		return;
; 6602 : 	}
; 6603 : 	GameObject *o = As_C4GameObj(obj);

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

; 6604 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax
	je	SHORT $L82740

; 6605 : 	{
; 6606 : 		return;
; 6607 : 	}
; 6608 : #ifdef WIN32
; 6609 : 	_asm {
; 6610 : 		mov ecx,o

	mov	ecx, DWORD PTR _o$[ebp]

; 6611 : 		mov ebx,C4Defuse

	mov	ebx, DWORD PTR ?C4Defuse@@3P6AXXZA	; C4Defuse

; 6612 : 		call ebx

	call	ebx
$L82740:

; 6613 : 	}
; 6614 : #else
; 6615 : 	C4Defuse(o);
; 6616 : #endif
; 6617 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Disarm_C4@@YAXPAE@Z ENDP				; Disarm_C4
_TEXT	ENDS
PUBLIC	?Disarm_All_Proxy_C4@@YAXH@Z			; Disarm_All_Proxy_C4
; Function compile flags: /Ogty
;	COMDAT ?Disarm_All_Proxy_C4@@YAXH@Z
_TEXT	SEGMENT
_mode$87759 = -12					; size = 4
_x$ = -8						; size = 4
_o$87798 = -4						; size = 4
$T87772 = -4						; size = 4
_x$87758 = -4						; size = 4
_o2$87744 = -4						; size = 4
$T87734 = -4						; size = 4
$T87733 = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Disarm_All_Proxy_C4@@YAXH@Z PROC NEAR			; Disarm_All_Proxy_C4, COMDAT

; 6620 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH

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

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

; 6622 : 	while (x)

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82749
	npad	4
$L82748:

; 6623 : 	{
; 6624 : 		GameObject *o = As_C4GameObj(As_ScriptableGameObj((GameObject *)x->NodeData));

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87733[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87732
	test	esi, esi
	je	SHORT $L87732
	mov	ecx, DWORD PTR $T87733[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L87806
$L87732:
	xor	esi, esi
$L87806:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87734[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L87797
	test	esi, esi
	je	$L87797
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L87797
	mov	ecx, DWORD PTR $T87734[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$87744[ebp], eax
	je	$L87797
	mov	ecx, DWORD PTR _o2$87744[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+140]
	call	eax
	mov	edi, eax

; 6625 : 		if (o && Get_C4_Mode(o) == 3)

	test	edi, edi
	je	$L87797
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L87797
	push	edi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	$L87797
	mov	eax, DWORD PTR [eax+1992]
	add	eax, 140				; 0000008cH
	mov	DWORD PTR _x$87758[ebp], eax
	mov	ecx, DWORD PTR _x$87758[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _mode$87759[ebp], eax
	cmp	DWORD PTR _mode$87759[ebp], 3
	jne	$L87797

; 6626 : 		{
; 6627 : 			if (Get_Player_ID(Get_C4_Planter(o)) == PlayerID)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87765
	push	edi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L87765
	mov	eax, DWORD PTR [edi+1980]
	test	eax, eax
	je	SHORT $L87765
	mov	esi, DWORD PTR [eax+4]
	jmp	SHORT $L87807
$L87765:
	xor	esi, esi
$L87807:
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87772[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87786
	test	esi, esi
	je	SHORT $L87786
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87786
	mov	ecx, DWORD PTR $T87772[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	test	eax, eax
	je	SHORT $L87786
	mov	eax, DWORD PTR [eax+2400]
	test	eax, eax
	je	SHORT $L87786
	mov	eax, DWORD PTR [eax+1884]
	jmp	SHORT $L87784
$L87786:
	or	eax, -1
$L87784:
	cmp	eax, DWORD PTR _PlayerID$[ebp]
	jne	SHORT $L87797

; 6628 : 			{
; 6629 : 				Disarm_C4(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87797
	push	edi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	mov	DWORD PTR _o$87798[ebp], eax
	je	SHORT $L87797
	mov	ecx, DWORD PTR _o$87798[ebp]
	mov	ebx, DWORD PTR ?C4Defuse@@3P6AXXZA	; C4Defuse
	call	ebx
$L87797:

; 6630 : 			}
; 6631 : 		}
; 6632 : 		x = x->NodeNext;

	mov	edx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [edx]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82748
$L82749:

; 6633 : 	}
; 6634 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Disarm_All_Proxy_C4@@YAXH@Z ENDP			; Disarm_All_Proxy_C4
_TEXT	ENDS
PUBLIC	?Disarm_All_C4@@YAXH@Z				; Disarm_All_C4
; Function compile flags: /Ogty
;	COMDAT ?Disarm_All_C4@@YAXH@Z
_TEXT	SEGMENT
_x$ = -8						; size = 4
_o$87868 = -4						; size = 4
_o2$87826 = -4						; size = 4
$T87843 = -4						; size = 4
$T87816 = -4						; size = 4
$T87815 = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Disarm_All_C4@@YAXH@Z PROC NEAR			; Disarm_All_C4, COMDAT

; 6637 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 6639 : 	while (x)

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82760
	npad	4
$L82759:

; 6640 : 	{
; 6641 : 		GameObject *o = As_C4GameObj(As_ScriptableGameObj((GameObject *)x->NodeData));

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87815[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87814
	test	esi, esi
	je	SHORT $L87814
	mov	ecx, DWORD PTR $T87815[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L87877
$L87814:
	xor	esi, esi
$L87877:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87816[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L87867
	test	esi, esi
	je	$L87867
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L87867
	mov	ecx, DWORD PTR $T87816[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$87826[ebp], eax
	je	$L87867
	mov	ecx, DWORD PTR _o2$87826[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+140]
	call	eax
	mov	edi, eax

; 6642 : 		if (o)

	test	edi, edi
	je	$L87867

; 6643 : 		{
; 6644 : 			if (Get_Player_ID(Get_C4_Planter(o)) == PlayerID)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87836
	push	edi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L87836
	mov	eax, DWORD PTR [edi+1980]
	test	eax, eax
	je	SHORT $L87836
	mov	esi, DWORD PTR [eax+4]
	jmp	SHORT $L87878
$L87836:
	xor	esi, esi
$L87878:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T87843[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87857
	test	esi, esi
	je	SHORT $L87857
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87857
	mov	ecx, DWORD PTR $T87843[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	test	eax, eax
	je	SHORT $L87857
	mov	eax, DWORD PTR [eax+2400]
	test	eax, eax
	je	SHORT $L87857
	mov	eax, DWORD PTR [eax+1884]
	jmp	SHORT $L87855
$L87857:
	or	eax, -1
$L87855:
	cmp	eax, DWORD PTR _PlayerID$[ebp]
	jne	SHORT $L87867

; 6645 : 			{
; 6646 : 				Disarm_C4(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L87867
	push	edi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	mov	DWORD PTR _o$87868[ebp], eax
	je	SHORT $L87867
	mov	ecx, DWORD PTR _o$87868[ebp]
	mov	ebx, DWORD PTR ?C4Defuse@@3P6AXXZA	; C4Defuse
	call	ebx
$L87867:

; 6647 : 			}
; 6648 : 		}
; 6649 : 		x = x->NodeNext;

	mov	eax, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82759
$L82760:

; 6650 : 	}
; 6651 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Disarm_All_C4@@YAXH@Z ENDP				; Disarm_All_C4
_TEXT	ENDS
PUBLIC	?Get_Team_Vehicle_Count@@YAHH@Z			; Get_Team_Vehicle_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Team_Vehicle_Count@@YAHH@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_team$ = 8						; size = 4
?Get_Team_Vehicle_Count@@YAHH@Z PROC NEAR		; Get_Team_Vehicle_Count, COMDAT

; 6654 : {

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

; 6655 : 	GameObject *o = Find_Vehicle_Factory(team);

	mov	esi, DWORD PTR _team$[ebp]
	push	53254					; 0000d006H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
	test	eax, eax
	jne	SHORT $L87896
	push	53255					; 0000d007H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
$L87896:

; 6656 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax
	jne	SHORT $L82769

; 6665 : 	}
; 6666 : #else
; 6667 : 	return GetVehicleCount(o);
; 6668 : #endif
; 6669 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82769:

; 6657 : 	{
; 6658 : 		return 0;
; 6659 : 	}
; 6660 : #ifdef WIN32
; 6661 : 	_asm {
; 6662 : 		mov ecx, o

	mov	ecx, DWORD PTR _o$[ebp]

; 6663 : 		mov ebx, GetVehicleCount

	mov	ebx, DWORD PTR ?GetVehicleCount@@3P6AIXZA ; GetVehicleCount

; 6664 : 		call ebx

	call	ebx

; 6665 : 	}
; 6666 : #else
; 6667 : 	return GetVehicleCount(o);
; 6668 : #endif
; 6669 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Team_Vehicle_Count@@YAHH@Z ENDP			; Get_Team_Vehicle_Count
_TEXT	ENDS
PUBLIC	?Is_Base_Powered@@YA_NH@Z			; Is_Base_Powered
; Function compile flags: /Ogty
;	COMDAT ?Is_Base_Powered@@YA_NH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Is_Base_Powered@@YA_NH@Z PROC NEAR			; Is_Base_Powered, COMDAT

; 6673 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 6674 : 	if (c)

	test	eax, eax
	je	SHORT $L82774

; 6675 : 	{
; 6676 : 		return c->IsPowered;

	mov	al, BYTE PTR [eax+1748]

; 6679 : }

	ret	0
$L82774:

; 6677 : 	}
; 6678 : 	return false;

	xor	al, al

; 6679 : }

	ret	0
?Is_Base_Powered@@YA_NH@Z ENDP				; Is_Base_Powered
_TEXT	ENDS
PUBLIC	?Can_Generate_Vehicles@@YA_NH@Z			; Can_Generate_Vehicles
; Function compile flags: /Ogty
;	COMDAT ?Can_Generate_Vehicles@@YA_NH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Can_Generate_Vehicles@@YA_NH@Z PROC NEAR		; Can_Generate_Vehicles, COMDAT

; 6683 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 6684 : 	if (c)

	test	eax, eax
	je	SHORT $L82779

; 6685 : 	{
; 6686 : 		return c->CanGenerateVehicles;

	mov	al, BYTE PTR [eax+1750]

; 6689 : }

	ret	0
$L82779:

; 6687 : 	}
; 6688 : 	return false;

	xor	al, al

; 6689 : }

	ret	0
?Can_Generate_Vehicles@@YA_NH@Z ENDP			; Can_Generate_Vehicles
_TEXT	ENDS
PUBLIC	?Can_Generate_Soliders@@YA_NH@Z			; Can_Generate_Soliders
; Function compile flags: /Ogty
;	COMDAT ?Can_Generate_Soliders@@YA_NH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Can_Generate_Soliders@@YA_NH@Z PROC NEAR		; Can_Generate_Soliders, COMDAT

; 6693 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 6694 : 	if (c)

	test	eax, eax
	je	SHORT $L82784

; 6695 : 	{
; 6696 : 		return c->CanGenerateSoldiers;

	mov	al, BYTE PTR [eax+1749]

; 6699 : }

	ret	0
$L82784:

; 6697 : 	}
; 6698 : 	return false;

	xor	al, al

; 6699 : }

	ret	0
?Can_Generate_Soliders@@YA_NH@Z ENDP			; Can_Generate_Soliders
_TEXT	ENDS
PUBLIC	?Get_Team_Name@@YAPBDH@Z			; Get_Team_Name
PUBLIC	??_C@_07GJJCKENN@Neutral?$AA@			; `string'
;	COMDAT ??_C@_07GJJCKENN@Neutral?$AA@
CONST	SEGMENT
??_C@_07GJJCKENN@Neutral?$AA@ DB 'Neutral', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Team_Name@@YAPBDH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Get_Team_Name@@YAPBDH@Z PROC NEAR			; Get_Team_Name, COMDAT

; 6721 : 	if (!Team)

	mov	eax, DWORD PTR _Team$[esp-4]
	test	eax, eax
	push	ebx
	push	esi
	push	edi
	jne	SHORT $L82806

; 6722 : 	{
; 6723 : 		return Get_Translated_String(7198);

	push	6198					; 00001836H
	jmp	SHORT $L87972
$L82806:

; 6724 : 	}
; 6725 : 	else if (Team == 1)

	cmp	eax, 1
	jne	SHORT $L82808

; 6726 : 	{
; 6727 : 		return Get_Translated_String(7199);

	push	6199					; 00001837H
$L87972:
	call	DWORD PTR ?Get_TDB_Object@@3P6APAVTDBObjClass@@K@ZA ; Get_TDB_Object
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	add	esp, 4
	call	DWORD PTR [edx+28]
	mov	esi, DWORD PTR [eax]
	push	esi
	call	_wcslen
	mov	edi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	test	eax, eax
	jne	SHORT $L87963
	call	_Init
$L87963:
	inc	edi
	push	edi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	push	edi
	mov	ebx, eax
	push	esi
	push	ebx
	call	_wcstombs
	add	esp, 16					; 00000010H
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx

; 6730 : }

	ret	0
$L82808:
	pop	edi
	pop	esi

; 6728 : 	}
; 6729 : 	return "Neutral";

	mov	eax, OFFSET FLAT:??_C@_07GJJCKENN@Neutral?$AA@
	pop	ebx

; 6730 : }

	ret	0
?Get_Team_Name@@YAPBDH@Z ENDP				; Get_Team_Name
_TEXT	ENDS
PUBLIC	?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z		; Get_Wide_Vehicle_Name
PUBLIC	??_C@_1BA@KOPEKOGK@?$AAV?$AAe?$AAh?$AAi?$AAc?$AAl?$AAe?$AA?$AA@ ; `string'
;	COMDAT ??_C@_1BA@KOPEKOGK@?$AAV?$AAe?$AAh?$AAi?$AAc?$AAl?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@KOPEKOGK@?$AAV?$AAe?$AAh?$AAi?$AAc?$AAl?$AAe?$AA?$AA@ DB 'V', 00H
	DB	'e', 00H, 'h', 00H, 'i', 00H, 'c', 00H, 'l', 00H, 'e', 00H, 00H
	DB	00H						; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z PROC NEAR		; Get_Wide_Vehicle_Name, COMDAT

; 6733 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 6735 : 	{
; 6736 : 		return L"Vehicle";
; 6737 : 	}
; 6738 : 	GameObject *o = As_VehicleGameObj(obj);

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

; 6739 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax

; 6740 : 	{
; 6741 : 		return L"Vehicle";

	je	SHORT $L82814

; 6742 : 	}
; 6743 : #ifdef WIN32
; 6744 : 	_asm {
; 6745 : 		mov ecx, o

	mov	ecx, DWORD PTR _o$[ebp]

; 6746 : 		mov ebx, Get_VehicleName

	mov	ebx, DWORD PTR ?Get_VehicleName@@3P6APA_WXZA ; Get_VehicleName

; 6747 : 		call ebx

	call	ebx

; 6748 : 	}
; 6749 : #else
; 6750 : 	return Get_VehicleName(o);
; 6751 : #endif
; 6752 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82814:
	pop	esi
	mov	eax, OFFSET FLAT:??_C@_1BA@KOPEKOGK@?$AAV?$AAe?$AAh?$AAi?$AAc?$AAl?$AAe?$AA?$AA@
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z ENDP		; Get_Wide_Vehicle_Name
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Name@@YAPBDPAE@Z			; Get_Vehicle_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Name@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Name@@YAPBDPAE@Z PROC NEAR			; Get_Vehicle_Name, COMDAT

; 6756 : 	return WideCharToChar(Get_Wide_Vehicle_Name(obj));

	mov	eax, DWORD PTR _obj$[esp-4]
	push	ebx
	push	esi
	push	edi
	push	eax
	call	?Get_Wide_Vehicle_Name@@YAPB_WPAE@Z	; Get_Wide_Vehicle_Name
	mov	ebx, eax
	push	ebx
	call	_wcslen
	mov	esi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 8
	test	eax, eax
	jne	SHORT $L87997
	call	_Init
$L87997:
	inc	esi
	push	esi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	push	esi
	mov	edi, eax
	push	ebx
	push	edi
	call	_wcstombs
	add	esp, 16					; 00000010H
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 6757 : }

	ret	0
?Get_Vehicle_Name@@YAPBDPAE@Z ENDP			; Get_Vehicle_Name
_TEXT	ENDS
PUBLIC	?SetBullets@@YAXPAKH@Z				; SetBullets
; Function compile flags: /Ogty
;	COMDAT ?SetBullets@@YAXPAKH@Z
_TEXT	SEGMENT
_wc$ = 8						; size = 4
_bullets$ = 12						; size = 4
?SetBullets@@YAXPAKH@Z PROC NEAR			; SetBullets, COMDAT

; 6761 : 	unsigned char *c = (unsigned char *)wc;
; 6762 : 	c+=0x24;
; 6763 : #ifdef WIN32
; 6764 : 	void *c2 = (void *)*(unsigned int *)c;
; 6765 : 	Set_Safe_Data_Int_Ref(c2,bullets);

	mov	ecx, DWORD PTR _wc$[esp-4]
	mov	edx, DWORD PTR [ecx+36]
	lea	eax, DWORD PTR _bullets$[esp-4]
	push	eax
	push	edx
	call	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA ; Set_Safe_Data_Int_Ref
	add	esp, 8

; 6766 : #else
; 6767 : 	*(int *)c = bullets;
; 6768 : #endif
; 6769 : }

	ret	0
?SetBullets@@YAXPAKH@Z ENDP				; SetBullets
_TEXT	ENDS
PUBLIC	?SetClipBullets@@YAXPAKH@Z			; SetClipBullets
; Function compile flags: /Ogty
;	COMDAT ?SetClipBullets@@YAXPAKH@Z
_TEXT	SEGMENT
_wc$ = 8						; size = 4
_bullets$ = 12						; size = 4
?SetClipBullets@@YAXPAKH@Z PROC NEAR			; SetClipBullets, COMDAT

; 6773 : 	unsigned char *c = (unsigned char *)wc;
; 6774 : 	c+=0x28;
; 6775 : #ifdef WIN32
; 6776 : 	void *c2 = (void *)*(unsigned int *)c;
; 6777 : 	Set_Safe_Data_Int_Ref(c2,bullets);

	mov	ecx, DWORD PTR _wc$[esp-4]
	mov	edx, DWORD PTR [ecx+40]
	lea	eax, DWORD PTR _bullets$[esp-4]
	push	eax
	push	edx
	call	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA ; Set_Safe_Data_Int_Ref
	add	esp, 8

; 6778 : #else
; 6779 : 	*(int *)c = bullets;
; 6780 : #endif
; 6781 : }

	ret	0
?SetClipBullets@@YAXPAKH@Z ENDP				; SetClipBullets
_TEXT	ENDS
PUBLIC	?Disarm_Beacon@@YAXPAE@Z			; Disarm_Beacon
; Function compile flags: /Ogty
;	COMDAT ?Disarm_Beacon@@YAXPAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_obj$ = 8						; size = 4
?Disarm_Beacon@@YAXPAE@Z PROC NEAR			; Disarm_Beacon, COMDAT

; 6912 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 6914 : 	{
; 6915 : 		return;
; 6916 : 	}
; 6917 : 	GameObject *o = As_BeaconGameObj(obj);

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

; 6918 : 	if (!o)

	test	eax, eax
	mov	DWORD PTR _o$[ebp], eax
	je	SHORT $L82933

; 6919 : 	{
; 6920 : 		return;
; 6921 : 	}
; 6922 : #ifdef WIN32
; 6923 : 	_asm {
; 6924 : 		mov ecx,o

	mov	ecx, DWORD PTR _o$[ebp]

; 6925 : 		mov eax,0

	mov	eax, 0

; 6926 : 		push eax

	push	eax

; 6927 : 		mov ebx,Completly_Damaged

	mov	ebx, DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA ; Completly_Damaged

; 6928 : 		call ebx

	call	ebx
$L82933:

; 6929 : 	}
; 6930 : #else
; 6931 : 	Completly_Damaged(o,0);
; 6932 : #endif
; 6933 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Disarm_Beacon@@YAXPAE@Z ENDP				; Disarm_Beacon
_TEXT	ENDS
PUBLIC	?Disarm_Beacons@@YAXH@Z				; Disarm_Beacons
; Function compile flags: /Ogty
;	COMDAT ?Disarm_Beacons@@YAXH@Z
_TEXT	SEGMENT
_x$ = -8						; size = 4
_o$88067 = -4						; size = 4
_o$88039 = -4						; size = 4
_o2$88028 = -4						; size = 4
$T88042 = -4						; size = 4
$T88018 = -4						; size = 4
$T88017 = -4						; size = 4
_PlayerID$ = 8						; size = 4
?Disarm_Beacons@@YAXH@Z PROC NEAR			; Disarm_Beacons, COMDAT

; 6936 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 6938 : 	while (x)

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82942
	npad	4
$L82941:

; 6939 : 	{
; 6940 : 		GameObject *o = As_BeaconGameObj(As_ScriptableGameObj((GameObject *)x->NodeData));

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T88017[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88015
	test	esi, esi
	je	SHORT $L88015
	mov	ecx, DWORD PTR $T88017[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L88076
$L88015:
	xor	esi, esi
$L88076:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T88018[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L88066
	test	esi, esi
	je	$L88066
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L88066
	mov	ecx, DWORD PTR $T88018[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$88028[ebp], eax
	je	$L88066
	mov	ecx, DWORD PTR _o2$88028[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+144]
	call	eax
	mov	edi, eax

; 6941 : 		if (o)

	test	edi, edi
	je	$L88066

; 6942 : 		{
; 6943 : 			if (Get_Player_ID(Get_Beacon_Planter(o)) == PlayerID)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88038
	push	edi
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	mov	DWORD PTR _o$88039[ebp], eax
	je	SHORT $L88038
	mov	ecx, DWORD PTR _o$88039[ebp]
	mov	ebx, DWORD PTR ?Get_Beacon_Owner@@3P6APAEXZA ; Get_Beacon_Owner
	call	ebx
	mov	esi, eax
	jmp	SHORT $L88077
$L88038:
	xor	esi, esi
$L88077:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T88042[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88051
	test	esi, esi
	je	SHORT $L88051
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88051
	mov	ecx, DWORD PTR $T88042[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	test	eax, eax
	je	SHORT $L88051
	mov	eax, DWORD PTR [eax+2400]
	test	eax, eax
	je	SHORT $L88051
	mov	eax, DWORD PTR [eax+1884]
	jmp	SHORT $L88049
$L88051:
	or	eax, -1
$L88049:
	cmp	eax, DWORD PTR _PlayerID$[ebp]
	jne	SHORT $L88066

; 6944 : 			{
; 6945 : 				Disarm_Beacon(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88066
	push	edi
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	mov	DWORD PTR _o$88067[ebp], eax
	je	SHORT $L88066
	mov	ecx, DWORD PTR _o$88067[ebp]
	mov	eax, 0
	push	eax
	mov	ebx, DWORD PTR ?Completly_Damaged@@3P6AXPAX@ZA ; Completly_Damaged
	call	ebx
$L88066:

; 6946 : 			}
; 6947 : 		}
; 6948 : 		x = x->NodeNext;

	mov	eax, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82941
$L82942:

; 6949 : 	}
; 6950 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Disarm_Beacons@@YAXH@Z ENDP				; Disarm_Beacons
_TEXT	ENDS
PUBLIC	?Find_Harvester@@YAPAEH@Z			; Find_Harvester
; Function compile flags: /Ogty
;	COMDAT ?Find_Harvester@@YAPAEH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Find_Harvester@@YAPAEH@Z PROC NEAR			; Find_Harvester, COMDAT

; 6954 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	mov	ecx, eax
	add	esp, 4

; 6955 : 	GameObject *o = 0;

	xor	eax, eax

; 6956 : 	if (c)

	test	ecx, ecx
	je	SHORT $L82952

; 6957 : 	{
; 6958 : 		o = c->Get_Harvester_Vehicle();

	jmp	?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ ; BaseControllerClass::Get_Harvester_Vehicle
$L82952:

; 6959 : 	}
; 6960 : 	return o;
; 6961 : }

	ret	0
?Find_Harvester@@YAPAEH@Z ENDP				; Find_Harvester
_TEXT	ENDS
PUBLIC	?GetMaxPlayerID@@YAHXZ				; GetMaxPlayerID
; Function compile flags: /Ogty
;	COMDAT ?GetMaxPlayerID@@YAHXZ
_TEXT	SEGMENT
?GetMaxPlayerID@@YAHXZ PROC NEAR			; GetMaxPlayerID, COMDAT

; 6965 : 	char *c = *ServerConnection;
; 6966 : #ifdef WIN32
; 6967 : 	c += 0x554;
; 6968 : #else
; 6969 : 	c += 0x544;
; 6970 : #endif
; 6971 : 	int *i = (int *)c;
; 6972 : 	return *i;

	mov	eax, DWORD PTR ?ServerConnection@@3PAPADA ; ServerConnection
	mov	ecx, DWORD PTR [eax]
	mov	eax, DWORD PTR [ecx+1364]

; 6973 : }

	ret	0
?GetMaxPlayerID@@YAHXZ ENDP				; GetMaxPlayerID
_TEXT	ENDS
PUBLIC	?Get_Powerup_Weapon@@YAPBDPBD@Z			; Get_Powerup_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Powerup_Weapon@@YAPBDPBD@Z
_TEXT	SEGMENT
_Powerup$ = 8						; size = 4
?Get_Powerup_Weapon@@YAPBDPBD@Z PROC NEAR		; Get_Powerup_Weapon, COMDAT

; 6977 : 	DefinitionClass *powerupdef = Find_Named_Definition(Powerup);

	mov	eax, DWORD PTR _Powerup$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8

; 6978 : 	char *c = (char *)powerupdef;
; 6979 : 	if (!c)

	test	eax, eax

; 6980 : 	{
; 6981 : 		return "None";

	je	SHORT $L82968

; 6982 : 	}
; 6983 : #ifdef RH8
; 6984 : 	c += 0xC0;
; 6985 : #else
; 6986 : 	c += 0xC4;
; 6987 : #endif
; 6988 : 	unsigned long weapondefid = (unsigned long)*(unsigned long *)c;

	mov	eax, DWORD PTR [eax+196]

; 6989 : 	if (weapondefid)

	test	eax, eax
	je	SHORT $L82968

; 6990 : 	{
; 6991 : 		DefinitionClass *weapondef = Find_Definition(weapondefid,1);

	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition

; 6992 : 		return weapondef->Get_Name();

	mov	edx, DWORD PTR [eax]
	add	esp, 8
	mov	ecx, eax
	jmp	DWORD PTR [edx+48]
$L82968:

; 6993 : 	}
; 6994 : 	return "None";

	mov	eax, OFFSET FLAT:??_C@_04OHJIHAFH@None?$AA@

; 6995 : }

	ret	0
?Get_Powerup_Weapon@@YAPBDPBD@Z ENDP			; Get_Powerup_Weapon
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Owner@@YAPAEPAE@Z			; Get_Vehicle_Owner
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Owner@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Owner@@YAPAEPAE@Z PROC NEAR		; Get_Vehicle_Owner, COMDAT

; 6998 : {	

	push	ebp
	mov	ebp, esp

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

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

; 7000 : 	{
; 7001 : 		return 0;
; 7002 : 	}
; 7003 : 	GameObject *o = As_VehicleGameObj(obj);

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

; 7004 : 	if (!o)

	test	eax, eax

; 7005 : 	{
; 7006 : 		return 0;

	je	SHORT $L82974

; 7007 : 	}
; 7008 : 	char *c = (char *)obj;
; 7009 : 	c += 0x9E0;
; 7010 : 	RefStruct *r = *(RefStruct **)c;

	mov	eax, DWORD PTR [esi+2528]

; 7011 : 	if (r)

	test	eax, eax
	je	SHORT $L82974

; 7012 : 	{
; 7013 : 		return r->obj;

	mov	eax, DWORD PTR [eax+4]

; 7014 : 	}
; 7015 : 	return 0;
; 7016 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82974:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Owner@@YAPAEPAE@Z ENDP			; Get_Vehicle_Owner
_TEXT	ENDS
PUBLIC	?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z ; Get_Team_Purchase_Definition
; Function compile flags: /Ogty
;	COMDAT ?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z PROC NEAR ; Get_Team_Purchase_Definition, COMDAT

; 7020 : 	return TeamPurchaseSettingsDefClass::Get_Definition(team);

	jmp	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
?Get_Team_Purchase_Definition@@YAPAVTeamPurchaseSettingsDefClass@@K@Z ENDP ; Get_Team_Purchase_Definition
_TEXT	ENDS
PUBLIC	?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ; Get_Purchase_Definition
; Function compile flags: /Ogty
;	COMDAT ?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z
_TEXT	SEGMENT
_type$ = 8						; size = 4
_team$ = 12						; size = 4
?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z PROC NEAR ; Get_Purchase_Definition, COMDAT

; 7025 : 	return PurchaseSettingsDefClass::Find_Definition(type,team);

	jmp	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
?Get_Purchase_Definition@@YAPAVPurchaseSettingsDefClass@@KK@Z ENDP ; Get_Purchase_Definition
_TEXT	ENDS
PUBLIC	??_C@_04CGFJFPFD@none?$AA@			; `string'
PUBLIC	?Get_Definition_Name@@YAPBDK@Z			; Get_Definition_Name
;	COMDAT ??_C@_04CGFJFPFD@none?$AA@
CONST	SEGMENT
??_C@_04CGFJFPFD@none?$AA@ DB 'none', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Get_Definition_Name@@YAPBDK@Z
_TEXT	SEGMENT
_id$ = 8						; size = 4
?Get_Definition_Name@@YAPBDK@Z PROC NEAR		; Get_Definition_Name, COMDAT

; 7030 : 	if (!id)

	mov	eax, DWORD PTR _id$[esp-4]
	test	eax, eax

; 7031 : 	{
; 7032 : 		return "none";

	je	SHORT $L88109

; 7033 : 	}
; 7034 : 	DefinitionClass *d = Find_Definition(id,1);

	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8

; 7035 : 	if (!d)

	test	eax, eax
	jne	SHORT $L82995
$L88109:

; 7036 : 	{
; 7037 : 		return "none";

	mov	eax, OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@

; 7040 : }

	ret	0
$L82995:

; 7038 : 	}
; 7039 : 	return d->Get_Name();

	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	jmp	DWORD PTR [edx+48]
?Get_Definition_Name@@YAPBDK@Z ENDP			; Get_Definition_Name
_TEXT	ENDS
PUBLIC	?Get_Definition_ID@@YAKPBD@Z			; Get_Definition_ID
; Function compile flags: /Ogty
;	COMDAT ?Get_Definition_ID@@YAKPBD@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
?Get_Definition_ID@@YAKPBD@Z PROC NEAR			; Get_Definition_ID, COMDAT

; 7044 : 	if (!name)

	mov	eax, DWORD PTR _name$[esp-4]
	test	eax, eax

; 7045 : 	{
; 7046 : 		return 0;

	je	SHORT $L88116

; 7047 : 	}
; 7048 : 	DefinitionClass *d = Find_Named_Definition(name);

	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8

; 7049 : 	if (!d)

	test	eax, eax
	jne	SHORT $L83001
$L88116:

; 7050 : 	{
; 7051 : 		return 0;

	xor	eax, eax

; 7054 : }

	ret	0
$L83001:

; 7052 : 	}
; 7053 : 	return d->Get_ID();

	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	jmp	DWORD PTR [edx+36]
?Get_Definition_ID@@YAKPBD@Z ENDP			; Get_Definition_ID
_TEXT	ENDS
PUBLIC	?Get_Team_Cost@@YAIPBDI@Z			; Get_Team_Cost
; Function compile flags: /Ogty
;	COMDAT ?Get_Team_Cost@@YAIPBDI@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
_team$ = 12						; size = 4
?Get_Team_Cost@@YAIPBDI@Z PROC NEAR			; Get_Team_Cost, COMDAT

; 7058 : 	unsigned int ID = Get_Definition_ID(preset);

	mov	eax, DWORD PTR _preset$[esp-4]
	test	eax, eax
	push	ebp
	push	esi
	jne	SHORT $L88125
	xor	ebp, ebp
	jmp	SHORT $L88124
$L88125:
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8
	test	eax, eax
	jne	SHORT $L88128
	xor	ebp, ebp
	jmp	SHORT $L88124
$L88128:
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+36]
	mov	ebp, eax
$L88124:

; 7059 : 	if (Get_Team_Purchase_Definition(team)->beaconpresetid == ID)

	mov	esi, DWORD PTR _team$[esp+4]
	push	esi
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	mov	ecx, DWORD PTR [eax+84]
	add	esp, 4
	cmp	ecx, ebp
	jne	SHORT $L83007

; 7060 : 	{
; 7061 : 		return Get_Team_Purchase_Definition(team)->beaconcost;

	push	esi
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition
	mov	eax, DWORD PTR [eax+80]
	add	esp, 4
	pop	esi
	pop	ebp

; 7074 : }

	ret	0
$L83007:
	push	ebx

; 7062 : 	}
; 7063 : 	for (unsigned int i = 0;i < 5;i++)

	xor	ebx, ebx
	push	edi
$L88148:

; 7064 : 	{
; 7065 : 		for (unsigned int j = 0;j < 10;j++)

	xor	edi, edi
	mov	esi, 76					; 0000004cH
	npad	7
$L83013:

; 7066 : 		{
; 7067 : 			if (Get_Purchase_Definition(i,team)->presetids[j] == ID)

	mov	eax, DWORD PTR _team$[esp+12]
	push	eax
	push	ebx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	mov	ecx, DWORD PTR [eax+esi]
	add	esp, 8
	cmp	ecx, ebp
	je	SHORT $L88145
	add	esi, 4
	inc	edi
	cmp	esi, 116				; 00000074H
	jb	SHORT $L83013
	inc	ebx
	cmp	ebx, 5
	jb	SHORT $L88148
	pop	edi
	pop	ebx
	pop	esi

; 7070 : 			}
; 7071 : 		}
; 7072 : 	}
; 7073 : 	return 0;

	xor	eax, eax
	pop	ebp

; 7074 : }

	ret	0
$L88145:

; 7068 : 			{
; 7069 : 				return Get_Purchase_Definition(i,team)->costs[j];

	mov	ecx, DWORD PTR _team$[esp+12]
	push	ecx
	push	ebx
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	mov	eax, DWORD PTR [eax+edi*4+36]
	add	esp, 8
	pop	edi
	pop	ebx
	pop	esi
	pop	ebp

; 7074 : }

	ret	0
?Get_Team_Cost@@YAIPBDI@Z ENDP				; Get_Team_Cost
_TEXT	ENDS
PUBLIC	?Get_Cost@@YAIPBD@Z				; Get_Cost
; Function compile flags: /Ogty
;	COMDAT ?Get_Cost@@YAIPBD@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
?Get_Cost@@YAIPBD@Z PROC NEAR				; Get_Cost, COMDAT

; 7077 : {

	push	esi

; 7078 : 	unsigned int cost = Get_Team_Cost(preset,0);

	mov	esi, DWORD PTR _preset$[esp]
	push	0
	push	esi
	call	?Get_Team_Cost@@YAIPBDI@Z		; Get_Team_Cost
	add	esp, 8

; 7079 : 	if (!cost)

	test	eax, eax
	jne	SHORT $L83021

; 7080 : 	{
; 7081 : 		cost = Get_Team_Cost(preset,1);

	push	1
	push	esi
	call	?Get_Team_Cost@@YAIPBDI@Z		; Get_Team_Cost
	add	esp, 8
$L83021:
	pop	esi

; 7082 : 	}
; 7083 : 	return cost;
; 7084 : }

	ret	0
?Get_Cost@@YAIPBD@Z ENDP				; Get_Cost
_TEXT	ENDS
PUBLIC	?Change_String@@YAXPAVStringClass@@PBD@Z	; Change_String
; Function compile flags: /Ogty
;	COMDAT ?Change_String@@YAXPAVStringClass@@PBD@Z
_TEXT	SEGMENT
_sc$ = 8						; size = 4
_str$ = 12						; size = 4
?Change_String@@YAXPAVStringClass@@PBD@Z PROC NEAR	; Change_String, COMDAT

; 7087 : {

	push	esi

; 7088 : 	if (!str)

	mov	esi, DWORD PTR _str$[esp]
	test	esi, esi
	je	SHORT $L83025

; 7089 : 	{
; 7090 : 		return;
; 7091 : 	}
; 7092 : 	unsigned int len = strlen(str)+1;

	mov	eax, esi
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L88158:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L88158
	push	ebx
	push	ebp

; 7093 : 	sc->Uninitialised_Grow(len);

	mov	ebp, DWORD PTR _sc$[esp+8]
	sub	eax, edx
	push	edi
	lea	ebx, DWORD PTR [eax+1]
	push	ebx
	mov	ecx, ebp
	call	?Uninitialised_Grow@StringClass@@QAEXH@Z ; StringClass::Uninitialised_Grow

; 7094 : 	memcpy(sc->m_Buffer,str,len);

	mov	edi, DWORD PTR [ebp]
	mov	ecx, ebx
	mov	eax, ecx
	shr	ecx, 2
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb

; 7095 : 	*(((unsigned int *)sc->m_Buffer)-1) = len-1;

	mov	ecx, DWORD PTR [ebp]
	pop	edi
	dec	ebx
	pop	ebp
	mov	DWORD PTR [ecx-4], ebx
	pop	ebx
$L83025:
	pop	esi

; 7096 : }

	ret	0
?Change_String@@YAXPAVStringClass@@PBD@Z ENDP		; Change_String
_TEXT	ENDS
PUBLIC	?Set_Enlisted@@YAXIIIIPBD@Z			; Set_Enlisted
; Function compile flags: /Ogty
;	COMDAT ?Set_Enlisted@@YAXIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_position$ = 12						; size = 4
_presetid$ = 16						; size = 4
_stringid$ = 20						; size = 4
_texture$ = 24						; size = 4
?Set_Enlisted@@YAXIIIIPBD@Z PROC NEAR			; Set_Enlisted, COMDAT

; 7100 : 	if ((team > 1) || (position > 3))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $L83037
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 3
	ja	SHORT $L88165

; 7101 : 	{
; 7102 : 		return;
; 7103 : 	}
; 7104 : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 7105 : 	t->presetid[position] = presetid;

	mov	ecx, DWORD PTR _presetid$[esp+4]

; 7106 : 	t->stringid[position] = stringid;

	mov	edx, DWORD PTR _stringid$[esp+4]
	mov	DWORD PTR [eax+esi*4+32], ecx

; 7107 : 	Change_String(&t->texture[position],texture);

	mov	ecx, DWORD PTR _texture$[esp+4]
	mov	DWORD PTR [eax+esi*4+48], edx
	push	ecx
	lea	edx, DWORD PTR [eax+esi*4+64]
	push	edx
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 12					; 0000000cH
$L88165:
	pop	esi
$L83037:

; 7108 : }

	ret	0
?Set_Enlisted@@YAXIIIIPBD@Z ENDP			; Set_Enlisted
_TEXT	ENDS
PUBLIC	?Set_Beacon@@YAXIIIIPBD@Z			; Set_Beacon
; Function compile flags: /Ogty
;	COMDAT ?Set_Beacon@@YAXIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_cost$ = 12						; size = 4
_presetid$ = 16						; size = 4
_stringid$ = 20						; size = 4
_texture$ = 24						; size = 4
?Set_Beacon@@YAXIIIIPBD@Z PROC NEAR			; Set_Beacon, COMDAT

; 7111 : 	if (team > 1)

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $L83045

; 7112 : 	{
; 7113 : 		return;
; 7114 : 	}
; 7115 : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 7116 : 	t->beaconcost = cost;

	mov	ecx, DWORD PTR _cost$[esp]

; 7117 : 	t->beaconpresetid = presetid;

	mov	edx, DWORD PTR _presetid$[esp]
	mov	DWORD PTR [eax+80], ecx

; 7118 : 	t->beaconstringid = stringid;

	mov	ecx, DWORD PTR _stringid$[esp]
	mov	DWORD PTR [eax+84], edx

; 7119 : 	Change_String(&t->beacontexture,texture);

	mov	edx, DWORD PTR _texture$[esp]
	mov	DWORD PTR [eax+88], ecx
	push	edx
	add	eax, 92					; 0000005cH
	push	eax
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 12					; 0000000cH
$L83045:

; 7120 : }

	ret	0
?Set_Beacon@@YAXIIIIPBD@Z ENDP				; Set_Beacon
_TEXT	ENDS
PUBLIC	?Set_Refill@@YAXIIPBD@Z				; Set_Refill
; Function compile flags: /Ogty
;	COMDAT ?Set_Refill@@YAXIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_stringid$ = 12						; size = 4
_texture$ = 16						; size = 4
?Set_Refill@@YAXIIPBD@Z PROC NEAR			; Set_Refill, COMDAT

; 7124 : 	if (team > 1)

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $L83052

; 7125 : 	{
; 7126 : 		return;
; 7127 : 	}
; 7128 : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 7129 : 	t->refillstringid = stringid;

	mov	ecx, DWORD PTR _stringid$[esp]

; 7130 : 	Change_String(&t->refilltexture,texture);

	mov	edx, DWORD PTR _texture$[esp]
	mov	DWORD PTR [eax+96], ecx
	push	edx
	add	eax, 100				; 00000064H
	push	eax
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 12					; 0000000cH
$L83052:

; 7131 : }

	ret	0
?Set_Refill@@YAXIIPBD@Z ENDP				; Set_Refill
_TEXT	ENDS
PUBLIC	?Set_Preset@@YAXIIIIIIPBD@Z			; Set_Preset
; Function compile flags: /Ogty
;	COMDAT ?Set_Preset@@YAXIIIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
_cost$ = 20						; size = 4
_presetid$ = 24						; size = 4
_stringid$ = 28						; size = 4
_texture$ = 32						; size = 4
?Set_Preset@@YAXIIIIIIPBD@Z PROC NEAR			; Set_Preset, COMDAT

; 7135 : 	if ((team > 1) || (type > 4) || (position > 9))

	mov	ecx, DWORD PTR _team$[esp-4]
	cmp	ecx, 1
	ja	SHORT $L83065
	mov	eax, DWORD PTR _type$[esp-4]
	cmp	eax, 4
	ja	SHORT $L83065
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 9
	ja	SHORT $L88184

; 7136 : 	{
; 7137 : 		return;
; 7138 : 	}
; 7139 : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	ecx
	push	eax
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition

; 7140 : 	p->costs[position] = cost;

	mov	ecx, DWORD PTR _cost$[esp+8]

; 7141 : 	p->presetids[position] = presetid;

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

; 7142 : 	p->stringids[position] = stringid;

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

; 7143 : 	Change_String(&p->textures[position],texture);

	mov	edx, DWORD PTR _texture$[esp+8]
	mov	DWORD PTR [eax+esi*4+116], ecx
	push	edx
	lea	eax, DWORD PTR [eax+esi*4+156]
	push	eax
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 16					; 00000010H
$L88184:
	pop	esi
$L83065:

; 7144 : }

	ret	0
?Set_Preset@@YAXIIIIIIPBD@Z ENDP			; Set_Preset
_TEXT	ENDS
PUBLIC	?Set_Alternate@@YAXIIIIIPBD@Z			; Set_Alternate
; Function compile flags: /Ogty
;	COMDAT ?Set_Alternate@@YAXIIIIIPBD@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
_altpos$ = 20						; size = 4
_presetid$ = 24						; size = 4
_texture$ = 28						; size = 4
?Set_Alternate@@YAXIIIIIPBD@Z PROC NEAR			; Set_Alternate, COMDAT

; 7148 : 	if ((team > 1) || (type > 4) || (position > 9) || (altpos > 2))

	mov	ecx, DWORD PTR _team$[esp-4]
	cmp	ecx, 1
	ja	SHORT $L83076
	mov	eax, DWORD PTR _type$[esp-4]
	cmp	eax, 4
	ja	SHORT $L83076
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 9
	ja	SHORT $L88191
	push	edi
	mov	edi, DWORD PTR _altpos$[esp+4]
	cmp	edi, 2
	ja	SHORT $L88192

; 7149 : 	{
; 7150 : 		return;
; 7151 : 	}
; 7152 : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	ecx
	push	eax
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition

; 7153 : 	p->altpresetids[position][altpos] = presetid;

	mov	edx, DWORD PTR _presetid$[esp+12]
	lea	ecx, DWORD PTR [edi+esi*2]
	add	ecx, esi
	mov	DWORD PTR [eax+ecx*4+196], edx

; 7154 : 	Change_String(&p->alttextures[position][altpos],texture);

	mov	edx, DWORD PTR _texture$[esp+12]
	push	edx
	lea	eax, DWORD PTR [eax+ecx*4+316]
	push	eax
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 16					; 00000010H
$L88192:
	pop	edi
$L88191:
	pop	esi
$L83076:

; 7155 : }

	ret	0
?Set_Alternate@@YAXIIIIIPBD@Z ENDP			; Set_Alternate
_TEXT	ENDS
PUBLIC	??0StringClass@@QAE@XZ				; StringClass::StringClass
; Function compile flags: /Ogty
;	COMDAT ??0StringClass@@QAE@XZ
_TEXT	SEGMENT
??0StringClass@@QAE@XZ PROC NEAR			; StringClass::StringClass, COMDAT
; _this$ = ecx

; 7158 : {

	mov	eax, ecx

; 7159 : 	m_Buffer = EmptyStr->m_Buffer;

	mov	ecx, DWORD PTR ?EmptyStr@@3PAVStringClass@@A ; EmptyStr
	mov	edx, DWORD PTR [ecx]
	mov	DWORD PTR [eax], edx

; 7160 : }

	ret	0
??0StringClass@@QAE@XZ ENDP				; StringClass::StringClass
_TEXT	ENDS
PUBLIC	??4StringClass@@QAEAAV0@AAV0@@Z			; StringClass::operator=
; Function compile flags: /Ogty
;	COMDAT ??4StringClass@@QAEAAV0@AAV0@@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
??4StringClass@@QAEAAV0@AAV0@@Z PROC NEAR		; StringClass::operator=, COMDAT
; _this$ = ecx

; 7164 : 	Change_String(this,str.m_Buffer);

	mov	eax, DWORD PTR _str$[esp-4]
	push	ebp
	push	esi
	mov	esi, DWORD PTR [eax]
	test	esi, esi
	mov	ebp, ecx
	je	SHORT $L88206
	mov	eax, esi
	lea	edx, DWORD PTR [eax+1]
$L88205:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L88205
	push	ebx
	sub	eax, edx
	push	edi
	lea	ebx, DWORD PTR [eax+1]
	push	ebx
	mov	ecx, ebp
	call	?Uninitialised_Grow@StringClass@@QAEXH@Z ; StringClass::Uninitialised_Grow
	mov	edi, DWORD PTR [ebp]
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
	mov	eax, DWORD PTR [ebp]
	dec	ebx
	pop	edi
	mov	DWORD PTR [eax-4], ebx
	pop	ebx
$L88206:
	pop	esi

; 7165 : 	return *this;

	mov	eax, ebp
	pop	ebp

; 7166 : }

	ret	4
??4StringClass@@QAEAAV0@AAV0@@Z ENDP			; StringClass::operator=
_TEXT	ENDS
PUBLIC	?Power_Base@@YAXH_N@Z				; Power_Base
; Function compile flags: /Ogty
;	COMDAT ?Power_Base@@YAXH_N@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_powered$ = 12						; size = 1
?Power_Base@@YAXH_N@Z PROC NEAR				; Power_Base, COMDAT

; 7188 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7189 : 	if (c)

	test	eax, eax
	je	SHORT $L83107

; 7190 : 	{
; 7191 : 		c->Power_Base(powered);

	mov	ecx, DWORD PTR _powered$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Power_Base@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Power_Base
$L83107:

; 7192 : 	}
; 7193 : }

	ret	0
?Power_Base@@YAXH_N@Z ENDP				; Power_Base
_TEXT	ENDS
PUBLIC	?Set_Can_Generate_Soldiers@@YAXH_N@Z		; Set_Can_Generate_Soldiers
; Function compile flags: /Ogty
;	COMDAT ?Set_Can_Generate_Soldiers@@YAXH_N@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_cangenerate$ = 12					; size = 1
?Set_Can_Generate_Soldiers@@YAXH_N@Z PROC NEAR		; Set_Can_Generate_Soldiers, COMDAT

; 7197 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7198 : 	if (c)

	test	eax, eax
	je	SHORT $L83113

; 7199 : 	{
; 7200 : 		c->Set_Can_Generate_Soldiers(cangenerate);

	mov	ecx, DWORD PTR _cangenerate$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Set_Can_Generate_Soldiers@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Can_Generate_Soldiers
$L83113:

; 7201 : 	}
; 7202 : }

	ret	0
?Set_Can_Generate_Soldiers@@YAXH_N@Z ENDP		; Set_Can_Generate_Soldiers
_TEXT	ENDS
PUBLIC	?Set_Can_Generate_Vehicles@@YAXH_N@Z		; Set_Can_Generate_Vehicles
; Function compile flags: /Ogty
;	COMDAT ?Set_Can_Generate_Vehicles@@YAXH_N@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_cangenerate$ = 12					; size = 1
?Set_Can_Generate_Vehicles@@YAXH_N@Z PROC NEAR		; Set_Can_Generate_Vehicles, COMDAT

; 7206 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7207 : 	if (c)

	test	eax, eax
	je	SHORT $L83119

; 7208 : 	{
; 7209 : 		c->Set_Can_Generate_Vehicles(cangenerate);

	mov	ecx, DWORD PTR _cangenerate$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Set_Can_Generate_Vehicles@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Can_Generate_Vehicles
$L83119:

; 7210 : 	}
; 7211 : }

	ret	0
?Set_Can_Generate_Vehicles@@YAXH_N@Z ENDP		; Set_Can_Generate_Vehicles
_TEXT	ENDS
PUBLIC	?Destroy_Base@@YAXH@Z				; Destroy_Base
; Function compile flags: /Ogty
;	COMDAT ?Destroy_Base@@YAXH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Destroy_Base@@YAXH@Z PROC NEAR				; Destroy_Base, COMDAT

; 7215 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7216 : 	if (c)

	test	eax, eax
	je	SHORT $L83124

; 7217 : 	{
; 7218 : 		c->Destroy_Base();

	mov	ecx, eax
	jmp	?Destroy_Base@BaseControllerClass@@QAEXXZ ; BaseControllerClass::Destroy_Base
$L83124:

; 7219 : 	}
; 7220 : }

	ret	0
?Destroy_Base@@YAXH@Z ENDP				; Destroy_Base
_TEXT	ENDS
PUBLIC	?Beacon_Destroyed_Base@@YAXH_N@Z		; Beacon_Destroyed_Base
; Function compile flags: /Ogty
;	COMDAT ?Beacon_Destroyed_Base@@YAXH_N@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_destroyed$ = 12					; size = 1
?Beacon_Destroyed_Base@@YAXH_N@Z PROC NEAR		; Beacon_Destroyed_Base, COMDAT

; 7224 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7225 : 	if (c)

	test	eax, eax
	je	SHORT $L83130

; 7226 : 	{
; 7227 : 		c->Set_Beacon_Destroyed_Base(destroyed);

	mov	ecx, DWORD PTR _destroyed$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Set_Beacon_Destroyed_Base@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Set_Beacon_Destroyed_Base
$L83130:

; 7228 : 	}
; 7229 : }

	ret	0
?Beacon_Destroyed_Base@@YAXH_N@Z ENDP			; Beacon_Destroyed_Base
_TEXT	ENDS
PUBLIC	?Enable_Base_Radar@@YAXH_N@Z			; Enable_Base_Radar
; Function compile flags: /Ogty
;	COMDAT ?Enable_Base_Radar@@YAXH_N@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_enable$ = 12						; size = 1
?Enable_Base_Radar@@YAXH_N@Z PROC NEAR			; Enable_Base_Radar, COMDAT

; 7233 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7234 : 	if (c)

	test	eax, eax
	je	SHORT $L83136

; 7235 : 	{
; 7236 : 		c->Enable_Radar(enable);

	mov	ecx, DWORD PTR _enable$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Enable_Radar@BaseControllerClass@@QAEX_N@Z ; BaseControllerClass::Enable_Radar
$L83136:

; 7237 : 	}
; 7238 : }

	ret	0
?Enable_Base_Radar@@YAXH_N@Z ENDP			; Enable_Base_Radar
_TEXT	ENDS
PUBLIC	??_C@_01CLKCMJKC@?5?$AA@			; `string'
PUBLIC	?Disable_Preset@@YAXIII@Z			; Disable_Preset
;	COMDAT ??_C@_01CLKCMJKC@?5?$AA@
CONST	SEGMENT
??_C@_01CLKCMJKC@?5?$AA@ DB ' ', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Disable_Preset@@YAXIII@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
_position$ = 16						; size = 4
?Disable_Preset@@YAXIII@Z PROC NEAR			; Disable_Preset, COMDAT

; 7242 : 	if ((team > 1) || (type > 4) || (position > 9))

	mov	ecx, DWORD PTR _team$[esp-4]
	cmp	ecx, 1
	ja	$L83149
	mov	eax, DWORD PTR _type$[esp-4]
	cmp	eax, 4
	ja	SHORT $L83149
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 9
	ja	SHORT $L88239
	push	ebx
	push	edi

; 7243 : 	{
; 7244 : 		return;
; 7245 : 	}
; 7246 : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(type,team);

	push	ecx
	push	eax
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	mov	edi, eax

; 7247 : 	p->presetids[position] = 0;

	xor	ebx, ebx

; 7248 : 	p->costs[position] = 0;
; 7249 : 	p->stringids[position] = 0;
; 7250 : 	Change_String(&p->textures[position]," ");

	lea	eax, DWORD PTR [edi+esi*4+156]
	push	OFFSET FLAT:??_C@_01CLKCMJKC@?5?$AA@
	push	eax
	mov	DWORD PTR [edi+esi*4+76], ebx
	mov	DWORD PTR [edi+esi*4+36], ebx
	mov	DWORD PTR [edi+esi*4+116], ebx
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	lea	ecx, DWORD PTR [esi+esi*2]
	lea	esi, DWORD PTR [edi+ecx*4+316]
	add	esp, 16					; 00000010H
	mov	edi, 3
	npad	3
$L83147:

; 7251 : 	for (unsigned int i = 0;i < 3;++i)
; 7252 : 	{
; 7253 : 		p->altpresetids[position][i] = 0;
; 7254 : 		Change_String(&p->alttextures[position][i]," ");

	push	2
	mov	ecx, esi
	mov	DWORD PTR [esi-120], ebx
	call	?Uninitialised_Grow@StringClass@@QAEXH@Z ; StringClass::Uninitialised_Grow
	mov	edx, DWORD PTR [esi]
	mov	ax, WORD PTR ??_C@_01CLKCMJKC@?5?$AA@
	mov	WORD PTR [edx], ax
	mov	ecx, DWORD PTR [esi]
	add	esi, 4
	dec	edi
	mov	DWORD PTR [ecx-4], 1
	jne	SHORT $L83147
	pop	edi
	pop	ebx
$L88239:
	pop	esi
$L83149:

; 7255 : 	}
; 7256 : }

	ret	0
?Disable_Preset@@YAXIII@Z ENDP				; Disable_Preset
_TEXT	ENDS
PUBLIC	?Disable_Enlisted@@YAXII@Z			; Disable_Enlisted
; Function compile flags: /Ogty
;	COMDAT ?Disable_Enlisted@@YAXII@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_position$ = 12						; size = 4
?Disable_Enlisted@@YAXII@Z PROC NEAR			; Disable_Enlisted, COMDAT

; 7260 : 	if ((team > 1) || (position > 3))

	mov	eax, DWORD PTR _team$[esp-4]
	cmp	eax, 1
	ja	SHORT $L83155
	push	esi
	mov	esi, DWORD PTR _position$[esp]
	cmp	esi, 3
	ja	SHORT $L88247

; 7261 : 	{
; 7262 : 		return;
; 7263 : 	}
; 7264 : 	TeamPurchaseSettingsDefClass *t = Get_Team_Purchase_Definition(team);

	push	eax
	call	?Get_Definition@TeamPurchaseSettingsDefClass@@SAPAV1@K@Z ; TeamPurchaseSettingsDefClass::Get_Definition

; 7265 : 	t->presetid[position] = 0;

	xor	ecx, ecx
	mov	DWORD PTR [eax+esi*4+32], ecx

; 7266 : 	t->stringid[position] = 0;

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

; 7267 : 	Change_String(&t->texture[position]," ");

	lea	eax, DWORD PTR [eax+esi*4+64]
	push	OFFSET FLAT:??_C@_01CLKCMJKC@?5?$AA@
	push	eax
	call	?Change_String@@YAXPAVStringClass@@PBD@Z ; Change_String
	add	esp, 12					; 0000000cH
$L88247:
	pop	esi
$L83155:

; 7268 : }

	ret	0
?Disable_Enlisted@@YAXII@Z ENDP				; Disable_Enlisted
_TEXT	ENDS
PUBLIC	?Is_Harvester@@YA_NPAE@Z			; Is_Harvester
; Function compile flags: /Ogty
;	COMDAT ?Is_Harvester@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Harvester@@YA_NPAE@Z PROC NEAR			; Is_Harvester, COMDAT

; 7271 : {

	push	ebp
	mov	ebp, esp

; 7272 : 	if (!As_VehicleGameObj(obj))

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

; 7273 : 	{
; 7274 : 		return false;

	je	SHORT $L88269

; 7275 : 	}
; 7276 : 	int ID = Commands->Get_ID(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]

; 7277 : 	if (Commands->Get_ID(Find_Harvester(0)) == ID || Commands->Get_ID(Find_Harvester(1)) == ID)

	push	0
	mov	esi, eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	mov	ecx, eax
	add	esp, 8
	xor	eax, eax
	test	ecx, ecx
	je	SHORT $L88261
	call	?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ ; BaseControllerClass::Get_Harvester_Vehicle
$L88261:
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	call	DWORD PTR [edx+108]
	add	esp, 4
	cmp	eax, esi
	je	SHORT $L83163
	push	1
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	mov	ecx, eax
	add	esp, 4
	xor	eax, eax
	test	ecx, ecx
	je	SHORT $L88267
	call	?Get_Harvester_Vehicle@BaseControllerClass@@QAEPAEXZ ; BaseControllerClass::Get_Harvester_Vehicle
$L88267:
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [eax+108]
	add	esp, 4
	cmp	eax, esi
	je	SHORT $L83163
$L88269:

; 7278 : 	{
; 7279 : 		return true;
; 7280 : 	}
; 7281 : 	return false;

	xor	al, al

; 7282 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83163:
	pop	esi
	mov	al, 1
	pop	ebx
	pop	ebp
	ret	0
?Is_Harvester@@YA_NPAE@Z ENDP				; Is_Harvester
_TEXT	ENDS
PUBLIC	?Get_Definition_Class_ID@@YAKPBD@Z		; Get_Definition_Class_ID
; Function compile flags: /Ogty
;	COMDAT ?Get_Definition_Class_ID@@YAKPBD@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
?Get_Definition_Class_ID@@YAKPBD@Z PROC NEAR		; Get_Definition_Class_ID, COMDAT

; 7304 : 	if (!name)

	mov	eax, DWORD PTR _name$[esp-4]
	test	eax, eax

; 7305 : 	{
; 7306 : 		return 0;

	je	SHORT $L88275

; 7307 : 	}
; 7308 : 	DefinitionClass *d = Find_Named_Definition(name);

	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8

; 7309 : 	if (!d)

	test	eax, eax
	jne	SHORT $L83180
$L88275:

; 7310 : 	{
; 7311 : 		return 0;

	xor	eax, eax

; 7314 : }

	ret	0
$L83180:

; 7312 : 	}
; 7313 : 	return d->Get_Class_ID();

	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	jmp	DWORD PTR [edx+32]
?Get_Definition_Class_ID@@YAKPBD@Z ENDP			; Get_Definition_Class_ID
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Definition_Mode@@YAIPBD@Z		; Get_Vehicle_Definition_Mode
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Definition_Mode@@YAIPBD@Z
_TEXT	SEGMENT
_preset$ = 8						; size = 4
?Get_Vehicle_Definition_Mode@@YAIPBD@Z PROC NEAR	; Get_Vehicle_Definition_Mode, COMDAT

; 7318 : 	DefinitionClass *d = Find_Named_Definition(preset);

	mov	eax, DWORD PTR _preset$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef

; 7319 : 	char *c = (char *)d;
; 7320 : 	c += 0xE0;

	add	eax, 224				; 000000e0H

; 7321 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [eax]
	add	esp, 8

; 7322 : }

	ret	0
?Get_Vehicle_Definition_Mode@@YAIPBD@Z ENDP		; Get_Vehicle_Definition_Mode
_TEXT	ENDS
PUBLIC	?Is_Radar_Enabled@@YA_NH@Z			; Is_Radar_Enabled
; Function compile flags: /Ogty
;	COMDAT ?Is_Radar_Enabled@@YA_NH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Is_Radar_Enabled@@YA_NH@Z PROC NEAR			; Is_Radar_Enabled, COMDAT

; 7326 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7327 : 	if (c)

	test	eax, eax
	je	SHORT $L83192

; 7328 : 	{
; 7329 : 		return c->RadarEnabled;

	mov	al, BYTE PTR [eax+1751]

; 7332 : }

	ret	0
$L83192:

; 7330 : 	}
; 7331 : 	return false;

	xor	al, al

; 7332 : }

	ret	0
?Is_Radar_Enabled@@YA_NH@Z ENDP				; Is_Radar_Enabled
_TEXT	ENDS
PUBLIC	?Building_Type@@YAHPAE@Z			; Building_Type
; Function compile flags: /Ogty
;	COMDAT ?Building_Type@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Building_Type@@YAHPAE@Z PROC NEAR			; Building_Type, COMDAT

; 7335 : {

	push	ebp
	mov	ebp, esp

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

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

; 7337 : 	{
; 7338 : 		return 0;
; 7339 : 	}
; 7340 : 	GameObject *o = As_BuildingGameObj(obj);

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

; 7341 : 	if (!o)

	test	eax, eax

; 7342 : 	{
; 7343 : 		return 0;

	je	SHORT $L83197

; 7344 : 	}
; 7345 : 	DefinitionClass *d = Get_Definition(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88297
	mov	esi, DWORD PTR [esi+1724]

; 7346 : 	char *c = (char *)d;
; 7347 : 	c += 0x8C;
; 7348 : 	return *(int *)c;

	mov	eax, DWORD PTR [esi+140]

; 7349 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0

; 7344 : 	}
; 7345 : 	DefinitionClass *d = Get_Definition(obj);

$L88297:
	xor	esi, esi

; 7346 : 	char *c = (char *)d;
; 7347 : 	c += 0x8C;
; 7348 : 	return *(int *)c;

	mov	eax, DWORD PTR [esi+140]

; 7349 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83197:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Building_Type@@YAHPAE@Z ENDP				; Building_Type
_TEXT	ENDS
PUBLIC	?Is_Building_Dead@@YA_NPAE@Z			; Is_Building_Dead
; Function compile flags: /Ogty
;	COMDAT ?Is_Building_Dead@@YA_NPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Is_Building_Dead@@YA_NPAE@Z PROC NEAR			; Is_Building_Dead, COMDAT

; 7352 : {

	push	ebp
	mov	ebp, esp

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

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

; 7354 : 	{
; 7355 : 		return 0;
; 7356 : 	}
; 7357 : 	GameObject *o = As_BuildingGameObj(obj);

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

; 7358 : 	if (!o)

	test	eax, eax

; 7359 : 	{
; 7360 : 		return 0;

	je	SHORT $L83208

; 7361 : 	}
; 7362 : 	char *c = (char *)obj;
; 7363 : 	c += 0x778;
; 7364 : 	return *(bool *)c;

	mov	al, BYTE PTR [esi+1912]

; 7365 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83208:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?Is_Building_Dead@@YA_NPAE@Z ENDP			; Is_Building_Dead
_TEXT	ENDS
PUBLIC	?Find_Building@@YAPAEHH@Z			; Find_Building
; Function compile flags: /Ogty
;	COMDAT ?Find_Building@@YAPAEHH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
_type$ = 12						; size = 4
?Find_Building@@YAPAEHH@Z PROC NEAR			; Find_Building, COMDAT

; 7369 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7370 : 	if (c)

	test	eax, eax
	je	SHORT $L83219

; 7371 : 	{
; 7372 : 		return c->Find_Building(type);

	mov	ecx, DWORD PTR _type$[esp-4]
	push	ecx
	mov	ecx, eax
	call	?Find_Building@BaseControllerClass@@QAEPAEI@Z ; BaseControllerClass::Find_Building

; 7375 : }

	ret	0
$L83219:

; 7373 : 	}
; 7374 : 	return 0;

	xor	eax, eax

; 7375 : }

	ret	0
?Find_Building@@YAPAEHH@Z ENDP				; Find_Building
_TEXT	ENDS
PUBLIC	?Find_Base_Defence@@YAPAEH@Z			; Find_Base_Defence
; Function compile flags: /Ogty
;	COMDAT ?Find_Base_Defence@@YAPAEH@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Find_Base_Defence@@YAPAEH@Z PROC NEAR			; Find_Base_Defence, COMDAT

; 7379 : 	BaseControllerClass *c = BaseControllerClass::Find_Base(team);

	mov	eax, DWORD PTR _team$[esp-4]
	push	eax
	call	?Find_Base@BaseControllerClass@@SAPAV1@H@Z ; BaseControllerClass::Find_Base
	add	esp, 4

; 7380 : 	if (c)

	test	eax, eax
	je	SHORT $L83224

; 7381 : 	{
; 7382 : 		return c->Find_Building(BASE_DEFENCE);

	push	9
	mov	ecx, eax
	call	?Find_Building@BaseControllerClass@@QAEPAEI@Z ; BaseControllerClass::Find_Building

; 7385 : }

	ret	0
$L83224:

; 7383 : 	}
; 7384 : 	return 0;

	xor	eax, eax

; 7385 : }

	ret	0
?Find_Base_Defence@@YAPAEH@Z ENDP			; Find_Base_Defence
_TEXT	ENDS
PUBLIC	?Purchase_Item@@YA_NPAEH@Z			; Purchase_Item
; Function compile flags: /Ogty
;	COMDAT ?Purchase_Item@@YA_NPAEH@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_obj$ = 8						; size = 4
_cost$ = 12						; size = 4
?Purchase_Item@@YA_NPAEH@Z PROC NEAR			; Purchase_Item, COMDAT

; 7388 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 7390 : 	{
; 7391 : 		return false;
; 7392 : 	}
; 7393 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 7394 : 	char *c = (char *)o;
; 7395 : 	if (!o)

	test	eax, eax

; 7396 : 	{
; 7397 : 		return false;

	je	SHORT $L83230

; 7398 : 	}
; 7399 : 	c += 0x960;
; 7400 : 	char *x = (char *)*(unsigned int *)c;

	mov	edx, DWORD PTR [eax+2400]
	mov	DWORD PTR _x$[ebp], edx

; 7401 : #ifdef WIN32
; 7402 : 	_asm {
; 7403 : 		mov ecx,x

	mov	ecx, DWORD PTR _x$[ebp]

; 7404 : 		mov ebx,[ecx]

	mov	ebx, DWORD PTR [ecx]

; 7405 : 		mov eax,[ebx+0x14]

	mov	eax, DWORD PTR [ebx+20]

; 7406 : 		mov edx,cost

	mov	edx, DWORD PTR _cost$[ebp]

; 7407 : 		push edx

	push	edx

; 7408 : 		call eax

	call	eax

; 7409 : 	}
; 7410 : #elif defined RH8
; 7411 : 	char *c2 = (char *)*(unsigned int *)x;
; 7412 : 	c2 += 0x1C;
; 7413 : 	pi *t = (pi *)c2;
; 7414 : 	pi pix = *t;
; 7415 : 	return pix(x,cost);
; 7416 : #else
; 7417 : 	char *c2 = x + 0x9C;
; 7418 : 	char *c3 = (char *)*(unsigned int *)c2;
; 7419 : 	c3 += 0x20;
; 7420 : 	pi *t = (pi *)c3;
; 7421 : 	pi pix = *t;
; 7422 : 	return pix(x,cost);
; 7423 : #endif
; 7424 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L83230:
	pop	esi
	xor	al, al
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Purchase_Item@@YA_NPAEH@Z ENDP				; Purchase_Item
_TEXT	ENDS
PUBLIC	?Is_Map_Flying@@YA_NXZ				; Is_Map_Flying
; Function compile flags: /Ogty
;	COMDAT ?Is_Map_Flying@@YA_NXZ
_TEXT	SEGMENT
?Is_Map_Flying@@YA_NXZ PROC NEAR			; Is_Map_Flying, COMDAT

; 7428 : 	return *IsMapVTOL;

	mov	eax, DWORD PTR ?IsMapVTOL@@3PA_NA	; IsMapVTOL
	mov	al, BYTE PTR [eax]

; 7429 : }

	ret	0
?Is_Map_Flying@@YA_NXZ ENDP				; Is_Map_Flying
_TEXT	ENDS
PUBLIC	?IsInsideZone@@YA_NPAE0@Z			; IsInsideZone
; Function compile flags: /Ogty
;	COMDAT ?IsInsideZone@@YA_NPAE0@Z
_TEXT	SEGMENT
_o2$ = -8						; size = 4
_o$ = -4						; size = 4
_zone$ = 8						; size = 4
_obj$ = 12						; size = 4
?IsInsideZone@@YA_NPAE0@Z PROC NEAR			; IsInsideZone, COMDAT

; 7432 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83245
	test	esi, esi
	je	SHORT $L83245

; 7434 : 	{
; 7435 : 		return false;
; 7436 : 	}
; 7437 : 	if (!Commands->Get_ID(zone) || !zone)

	mov	edi, DWORD PTR _zone$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83245
	test	edi, edi
	je	SHORT $L83245

; 7438 : 	{
; 7439 : 		return false;
; 7440 : 	}
; 7441 : 	GameObject *o = As_SmartGameObj(obj);

	push	esi
	call	?As_SmartGameObj@@YAPAEPAE@Z		; As_SmartGameObj
	mov	esi, eax

; 7442 : 	GameObject *o2 = As_ScriptZoneGameObj(zone);

	push	edi
	mov	DWORD PTR _o$[ebp], esi
	call	?As_ScriptZoneGameObj@@YAPAEPAE@Z	; As_ScriptZoneGameObj
	add	esp, 8

; 7443 : 	if ((o) && (o2))

	test	esi, esi
	mov	DWORD PTR _o2$[ebp], eax
	je	SHORT $L83245
	test	eax, eax
	je	SHORT $L83245

; 7444 : 	{
; 7445 : #ifdef WIN32
; 7446 : 		_asm {
; 7447 : 			mov ecx,o2

	mov	ecx, DWORD PTR _o2$[ebp]

; 7448 : 			mov ebx,o

	mov	ebx, DWORD PTR _o$[ebp]

; 7449 : 			push ebx

	push	ebx

; 7450 : 			mov ebx,InsideMe

	mov	ebx, DWORD PTR ?InsideMe@@3P6A_NPAE@ZA	; InsideMe

; 7451 : 			call ebx

	call	ebx
$L83245:

; 7452 : 		}
; 7453 : #else
; 7454 : 		return InsideMe(o2,o);
; 7455 : #endif
; 7456 : 	}
; 7457 : 	return false;
; 7458 : }

	pop	edi
	pop	esi
	xor	al, al
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?IsInsideZone@@YA_NPAE0@Z ENDP				; IsInsideZone
_TEXT	ENDS
PUBLIC	?Find_Closest_Preset_By_Team@@YAPAEHABUVector3@@PBD@Z ; Find_Closest_Preset_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Closest_Preset_By_Team@@YAPAEHABUVector3@@PBD@Z
_TEXT	SEGMENT
$T88330 = -36						; size = 12
$T88329 = -24						; size = 12
$T88336 = -12						; size = 4
_o$83262 = -12						; size = 4
_closest$ = -8						; size = 4
_closestdist$ = -4					; size = 4
_Team$ = 8						; size = 4
_pos$ = 12						; size = 4
_Preset$ = 16						; size = 4
?Find_Closest_Preset_By_Team@@YAPAEHABUVector3@@PBD@Z PROC NEAR ; Find_Closest_Preset_By_Team, COMDAT

; 7461 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 36					; 00000024H

; 7462 : 	float closestdist = 9999.0f;
; 7463 : 	GameObject *closest = 0;
; 7464 : 	GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 7465 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _closestdist$[ebp], 1176255488 ; 461c3c00H
	mov	DWORD PTR _closest$[ebp], eax
	je	$L83261
$L83260:

; 7466 : 	{
; 7467 : 		GameObject *o = As_ScriptableGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T88336[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L83269
	test	esi, esi
	je	$L83269
	mov	ecx, DWORD PTR $T88336[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax

; 7468 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$83262[ebp], esi
	je	$L83269

; 7469 : 		{
; 7470 : 			if ((Get_Object_Type(o) == Team || Team == 2) && !stricmp(Commands->Get_Preset_Name(o),Preset))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88350
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88350
	mov	ecx, DWORD PTR _o$83262[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L88350
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L88348
$L88350:
	xor	eax, eax
$L88348:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L83266
	cmp	ecx, 2
	jne	SHORT $L83269
$L83266:
	mov	edx, DWORD PTR _Preset$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	esi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L83269

; 7471 : 			{
; 7472 : 				float dist = Commands->Get_Distance(Commands->Get_Position(o),pos);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T88330[ebp]
	push	esi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T88329[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _pos$[ebp]
	mov	DWORD PTR $T88329[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	push	ecx
	lea	edx, DWORD PTR $T88329[ebp]
	mov	DWORD PTR $T88329[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 7473 : 				if (dist < closestdist)

	fcom	DWORD PTR _closestdist$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L88361

; 7474 : 				{
; 7475 : 					closestdist = dist;

	fstp	DWORD PTR _closestdist$[ebp]

; 7476 : 					closest = o;

	mov	DWORD PTR _closest$[ebp], esi
	jmp	SHORT $L83269
$L88361:
	fstp	ST(0)
$L83269:

; 7477 : 				}
; 7478 : 			}
; 7479 : 		}
; 7480 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L83260

; 7481 : 	}
; 7482 : 	return closest;

	mov	eax, DWORD PTR _closest$[ebp]
$L83261:

; 7483 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Closest_Preset_By_Team@@YAPAEHABUVector3@@PBD@Z ENDP ; Find_Closest_Preset_By_Team
_TEXT	ENDS
PUBLIC	?Get_Object_Count@@YAHHPBD@Z			; Get_Object_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Object_Count@@YAHHPBD@Z
_TEXT	SEGMENT
_o$83373 = -8						; size = 4
_count$ = -4						; size = 4
_Team$ = 8						; size = 4
_Preset$ = 12						; size = 4
?Get_Object_Count@@YAHHPBD@Z PROC NEAR			; Get_Object_Count, COMDAT

; 7556 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 7557 : 	int count = 0;
; 7558 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 7559 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _count$[ebp], eax
	je	SHORT $L83372
	npad	5
$L83371:

; 7560 : 	{
; 7561 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7562 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$83373[ebp], esi
	je	SHORT $L83376

; 7563 : 		{
; 7564 : 			if ((Get_Object_Type(o) == Team || Team == 2) && !stricmp(Commands->Get_Preset_Name(o),Preset))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88379
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88379
	mov	ecx, DWORD PTR _o$83373[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L88379
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L88377
$L88379:
	xor	eax, eax
$L88377:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L83377
	cmp	ecx, 2
	jne	SHORT $L83376
$L83377:
	mov	ecx, DWORD PTR _Preset$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	esi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L83376

; 7565 : 			{
; 7566 : 				count++;

	inc	DWORD PTR _count$[ebp]
$L83376:

; 7567 : 			}
; 7568 : 		}
; 7569 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L83371

; 7570 : 	}
; 7571 : 	return count;

	mov	eax, DWORD PTR _count$[ebp]
$L83372:

; 7572 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Object_Count@@YAHHPBD@Z ENDP			; Get_Object_Count
_TEXT	ENDS
PUBLIC	?Is_Valid_Preset_ID@@YA_NK@Z			; Is_Valid_Preset_ID
; Function compile flags: /Ogty
;	COMDAT ?Is_Valid_Preset_ID@@YA_NK@Z
_TEXT	SEGMENT
_ID$ = 8						; size = 4
?Is_Valid_Preset_ID@@YA_NK@Z PROC NEAR			; Is_Valid_Preset_ID, COMDAT

; 7576 : 	if (Find_Definition(ID,1))

	mov	eax, DWORD PTR _ID$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8
	test	eax, eax
	setne	al

; 7577 : 	{
; 7578 : 		return true;
; 7579 : 	}
; 7580 : 	return false;
; 7581 : }

	ret	0
?Is_Valid_Preset_ID@@YA_NK@Z ENDP			; Is_Valid_Preset_ID
_TEXT	ENDS
PUBLIC	?Is_Valid_Preset@@YA_NPBD@Z			; Is_Valid_Preset
; Function compile flags: /Ogty
;	COMDAT ?Is_Valid_Preset@@YA_NPBD@Z
_TEXT	SEGMENT
_Preset$ = 8						; size = 4
?Is_Valid_Preset@@YA_NPBD@Z PROC NEAR			; Is_Valid_Preset, COMDAT

; 7585 : 	if (Find_Named_Definition(Preset))

	mov	eax, DWORD PTR _Preset$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	add	esp, 8
	test	eax, eax
	setne	al

; 7586 : 	{
; 7587 : 		return true;
; 7588 : 	}
; 7589 : 	return false;
; 7590 : }

	ret	0
?Is_Valid_Preset@@YA_NPBD@Z ENDP			; Is_Valid_Preset
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z	; Get_Vehicle_Definition_Mode_By_ID
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z
_TEXT	SEGMENT
_ID$ = 8						; size = 4
?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z PROC NEAR	; Get_Vehicle_Definition_Mode_By_ID, COMDAT

; 7612 : 	DefinitionClass *d = Find_Definition(ID,1);

	mov	eax, DWORD PTR _ID$[esp-4]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8

; 7613 : 	if (!d) return 5;

	test	eax, eax
	jne	SHORT $L83406
	mov	eax, 5

; 7617 : }

	ret	0
$L83406:

; 7614 : 	char *c = (char *)d;
; 7615 : 	c += 0xE0;
; 7616 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [eax+224]

; 7617 : }

	ret	0
?Get_Vehicle_Definition_Mode_By_ID@@YAIK@Z ENDP		; Get_Vehicle_Definition_Mode_By_ID
_TEXT	ENDS
PUBLIC	?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z	; Damage_All_Objects_In_Zone
; Function compile flags: /Ogty
;	COMDAT ?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z
_TEXT	SEGMENT
_Zone$ = 8						; size = 4
_Damage$ = 12						; size = 4
_Warhead$ = 16						; size = 4
_Damager$ = 20						; size = 4
?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z PROC NEAR	; Damage_All_Objects_In_Zone, COMDAT

; 7640 : 	if (!Commands->Get_ID(Zone) || !Zone)

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

; 7641 : 	{
; 7642 : 		return;
; 7643 : 	}
; 7644 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

	mov	ecx, DWORD PTR ?SmartGameObjList@@3PAV?$SList@E@@A ; SmartGameObjList
	push	edi
	mov	edi, DWORD PTR [ecx+4]

; 7645 : 	while (x)

	test	edi, edi
	je	SHORT $L88406
	push	ebx
	mov	ebx, DWORD PTR _Damager$[esp+8]
	push	ebp
	mov	ebp, DWORD PTR _Warhead$[esp+12]
$L83435:

; 7646 : 	{
; 7647 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7648 : 		if (o)

	test	esi, esi
	je	SHORT $L88405

; 7649 : 		{
; 7650 : 			if (IsInsideZone(Zone,o))

	mov	edx, DWORD PTR _Zone$[esp+12]
	push	esi
	push	edx
	call	?IsInsideZone@@YA_NPAE0@Z		; IsInsideZone
	add	esp, 8
	test	al, al
	je	SHORT $L88405

; 7651 : 			{
; 7652 : 				Commands->Apply_Damage(o,Damage,Warhead,Damager);

	mov	eax, DWORD PTR _Damage$[esp+12]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	ebp
	push	eax
	push	esi
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L88405:

; 7653 : 			}
; 7654 : 		}
; 7655 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L83435
	pop	ebp
	pop	ebx
$L88406:
	pop	edi
$L83436:
	pop	esi

; 7656 : 	}
; 7657 : }

	ret	0
?Damage_All_Objects_In_Zone@@YAXPAEMPBD0@Z ENDP		; Damage_All_Objects_In_Zone
_TEXT	ENDS
PUBLIC	?Create_Building@@YAPAEPBDABUVector3@@@Z	; Create_Building
; Function compile flags: /Ogty
;	COMDAT ?Create_Building@@YAPAEPBDABUVector3@@@Z
_TEXT	SEGMENT
_obj$ = -4						; size = 4
_preset$ = 8						; size = 4
_Position$ = 12						; size = 4
?Create_Building@@YAPAEPBDABUVector3@@@Z PROC NEAR	; Create_Building, COMDAT

; 7660 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7661 : 	DefinitionClass *d = Find_Named_Definition(preset);

	mov	eax, DWORD PTR _preset$[ebp]
	push	ebx
	push	esi
	push	1
	push	eax
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef

; 7662 : 	GameObject *obj = (GameObject *)d->Create();

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

; 7663 : 	if (As_BuildingGameObj(obj))

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

; 7664 : 	{
; 7665 : 		char *c = (char *)obj;
; 7666 : 		c += 0x77C;
; 7667 : 		Vector3 *pos1 = (Vector3 *)c;
; 7668 : 		c = (char *)obj;
; 7669 : 		c += 0x7A4;
; 7670 : 		Vector3 *pos2 = (Vector3 *)c;
; 7671 : 		pos1->X = Position.X;

	mov	eax, DWORD PTR _Position$[ebp]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR [esi+1916], ecx

; 7672 : 		pos1->Y = Position.Y;

	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+1920], edx

; 7673 : 		pos1->Z = Position.Z;

	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [esi+1924], ecx

; 7674 : 		pos2->X = Position.X;

	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR [esi+1956], edx

; 7675 : 		pos2->Y = Position.Y;

	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [esi+1960], ecx

; 7676 : 		pos2->Z = Position.Z;

	mov	edx, DWORD PTR [eax+8]
	mov	DWORD PTR [esi+1964], edx

; 7677 : #ifdef WIN32
; 7678 : 		_asm {
; 7679 : 			mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 7680 : 			mov ebx,Collect_Building_Components

	mov	ebx, DWORD PTR ?Collect_Building_Components@@3P6AXXZA ; Collect_Building_Components

; 7681 : 			call ebx

	call	ebx

; 7682 : 			mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 7683 : 			mov ebx,Start_Observers

	mov	ebx, DWORD PTR ?Start_Observers@@3P6AXXZA ; Start_Observers

; 7684 : 			call ebx

	call	ebx

; 7685 : 		}
; 7686 : #else
; 7687 : 		Collect_Building_Components(obj);
; 7688 : 		Start_Observers(obj);
; 7689 : #endif
; 7690 : 		return obj;

	mov	eax, esi

; 7691 : 	}
; 7692 : 	return 0;
; 7693 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L83448:
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_Building@@YAPAEPBDABUVector3@@@Z ENDP		; Create_Building
_TEXT	ENDS
PUBLIC	?Get_Zone_Type@@YAIPAE@Z			; Get_Zone_Type
; Function compile flags: /Ogty
;	COMDAT ?Get_Zone_Type@@YAIPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Zone_Type@@YAIPAE@Z PROC NEAR			; Get_Zone_Type, COMDAT

; 7696 : {

	push	ebp
	mov	ebp, esp

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

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

; 7698 : 	{
; 7699 : 		return 0;
; 7700 : 	}
; 7701 : 	GameObject *o = As_ScriptZoneGameObj(obj);

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

; 7702 : 	if (!o)

	test	eax, eax

; 7703 : 	{
; 7704 : 		return 0;

	je	SHORT $L83460

; 7705 : 	}
; 7706 : 	DefinitionClass *d = Get_Definition(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88431
	mov	esi, DWORD PTR [esi+1724]

; 7707 : 	char *c = (char *)d;
; 7708 : 	c += 0x4C;
; 7709 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [esi+76]

; 7710 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0

; 7705 : 	}
; 7706 : 	DefinitionClass *d = Get_Definition(obj);

$L88431:
	xor	esi, esi

; 7707 : 	char *c = (char *)d;
; 7708 : 	c += 0x4C;
; 7709 : 	return *(unsigned int *)c;

	mov	eax, DWORD PTR [esi+76]

; 7710 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83460:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Zone_Type@@YAIPAE@Z ENDP				; Get_Zone_Type
_TEXT	ENDS
PUBLIC	?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z		; Get_Zone_Box
; Function compile flags: /Ogty
;	COMDAT ?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z PROC NEAR		; Get_Zone_Box, COMDAT

; 7713 : {

	push	ebp
	mov	ebp, esp

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

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

; 7715 : 	{
; 7716 : 		return 0;
; 7717 : 	}
; 7718 : 	GameObject *o = As_ScriptZoneGameObj(obj);

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

; 7719 : 	if (!o)

	test	eax, eax

; 7720 : 	{
; 7721 : 		return 0;

	je	SHORT $L83471

; 7722 : 	}
; 7723 : 	char *c = (char *)obj;
; 7724 : 	c += 0x77C;

	lea	eax, DWORD PTR [esi+1916]

; 7725 : 	OBBoxClass *b = (OBBoxClass *)c;
; 7726 : 	return b;
; 7727 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83471:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z ENDP		; Get_Zone_Box
_TEXT	ENDS
PUBLIC	?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z		; Set_Zone_Box
; Function compile flags: /Ogty
;	COMDAT ?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_box$ = 12						; size = 4
?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z PROC NEAR	; Set_Zone_Box, COMDAT

; 7730 : {

	push	ebp
	mov	ebp, esp

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83483
	test	esi, esi
	je	SHORT $L83483

; 7732 : 	{
; 7733 : 		return;
; 7734 : 	}
; 7735 : 	GameObject *o = As_ScriptZoneGameObj(obj);

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

; 7736 : 	if (!o)

	test	eax, eax
	je	SHORT $L83483

; 7737 : 	{
; 7738 : 		return;
; 7739 : 	}
; 7740 : 	char *c = (char *)obj;
; 7741 : 	c += 0x77C;

	lea	edi, DWORD PTR [esi+1916]

; 7742 : 	OBBoxClass *b = (OBBoxClass *)c;
; 7743 : 	memcpy(b,&box,sizeof(OBBoxClass));

	mov	esi, DWORD PTR _box$[ebp]
	mov	ecx, 15					; 0000000fH
	rep movsd
$L83483:

; 7744 : }

	pop	edi
	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z ENDP		; Set_Zone_Box
_TEXT	ENDS
PUBLIC	?Create_Zone@@YAPAEPBDABVOBBoxClass@@@Z		; Create_Zone
; Function compile flags: /Ogty
;	COMDAT ?Create_Zone@@YAPAEPBDABVOBBoxClass@@@Z
_TEXT	SEGMENT
_obj$ = -4						; size = 4
_preset$ = 8						; size = 4
_box$ = 12						; size = 4
?Create_Zone@@YAPAEPBDABVOBBoxClass@@@Z PROC NEAR	; Create_Zone, COMDAT

; 7747 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7748 : 	GameObject *obj = Create_Library_Object(preset);

	mov	eax, DWORD PTR _preset$[ebp]
	push	ebx
	push	esi
	push	eax
	call	DWORD PTR ?Create_Library_Object@@3P6APAEPBD@ZA ; Create_Library_Object

; 7749 : 	Set_Zone_Box(obj,box);

	mov	ecx, DWORD PTR _box$[ebp]
	mov	esi, eax
	push	ecx
	push	esi
	mov	DWORD PTR _obj$[ebp], esi
	call	?Set_Zone_Box@@YAXPAEABVOBBoxClass@@@Z	; Set_Zone_Box
	add	esp, 12					; 0000000cH

; 7750 : #ifdef WIN32
; 7751 : 	_asm {
; 7752 : 		mov ecx,obj

	mov	ecx, DWORD PTR _obj$[ebp]

; 7753 : 		mov ebx,Start_Observers

	mov	ebx, DWORD PTR ?Start_Observers@@3P6AXXZA ; Start_Observers

; 7754 : 		call ebx

	call	ebx

; 7755 : 	}
; 7756 : #else
; 7757 : 	Start_Observers(obj);
; 7758 : #endif
; 7759 : 	return obj;

	mov	eax, esi

; 7760 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Create_Zone@@YAPAEPBDABVOBBoxClass@@@Z ENDP		; Create_Zone
_TEXT	ENDS
PUBLIC	?PointInZone@@YA_NPAEABUVector3@@@Z		; PointInZone
; Function compile flags: /Ogty
;	COMDAT ?PointInZone@@YA_NPAEABUVector3@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_v$ = 12						; size = 4
?PointInZone@@YA_NPAEABUVector3@@@Z PROC NEAR		; PointInZone, COMDAT

; 7763 : {

	push	ebp
	mov	ebp, esp

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

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

; 7765 : 	{
; 7766 : 		return false;
; 7767 : 	}
; 7768 : 	GameObject *o = As_ScriptZoneGameObj(obj);

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

; 7769 : 	if (!o)

	test	eax, eax

; 7770 : 	{
; 7771 : 		return false;

	je	SHORT $L83501

; 7772 : 	}
; 7773 : 	unsigned int x = Overlap_Test(*Get_Zone_Box(o),v);

	mov	edx, DWORD PTR _v$[ebp]
	push	edx
	push	eax
	call	?Get_Zone_Box@@YAPAVOBBoxClass@@PAE@Z	; Get_Zone_Box
	add	esp, 4
	push	eax
	call	?Overlap_Test@@YAIABVOBBoxClass@@ABUVector3@@@Z ; Overlap_Test
	add	esp, 8

; 7774 : 	if (x == 2)

	cmp	eax, 2
	sete	al

; 7775 : 	{
; 7776 : 		return true;
; 7777 : 	}
; 7778 : 	return false;
; 7779 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L83501:
	pop	esi
	xor	al, al
	pop	ebx
	pop	ebp
	ret	0
?PointInZone@@YA_NPAEABUVector3@@@Z ENDP		; PointInZone
_TEXT	ENDS
PUBLIC	?Set_Money@@YAXHM@Z				; Set_Money
; Function compile flags: /Ogty
;	COMDAT ?Set_Money@@YAXHM@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Money@@YAXHM@Z PROC NEAR				; Set_Money, COMDAT

; 7782 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7783 : 	unsigned char *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[ebp]
	push	ebx
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAEH@ZA	; FindPlayer
	add	esp, 4

; 7784 : 	if (!x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	SHORT $L83509

; 7785 : 	{
; 7786 : 		return;
; 7787 : 	}
; 7788 : #ifdef WIN32
; 7789 : 	_asm {
; 7790 : 		mov ecx,x

	mov	ecx, DWORD PTR _x$[ebp]

; 7791 : 		mov eax,amount

	mov	eax, DWORD PTR _amount$[ebp]

; 7792 : 		mov ebx,SetMoney

	mov	ebx, DWORD PTR ?SetMoney@@3P6AXM@ZA	; SetMoney

; 7793 : 		push eax

	push	eax

; 7794 : 		call ebx

	call	ebx
$L83509:

; 7795 : 	}
; 7796 : #else
; 7797 : 	SetMoney(x,amount);
; 7798 : #endif
; 7799 : }

	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Money@@YAXHM@Z ENDP				; Set_Money
_TEXT	ENDS
PUBLIC	?Set_Score@@YAXHM@Z				; Set_Score
; Function compile flags: /Ogty
;	COMDAT ?Set_Score@@YAXHM@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
_amount$ = 12						; size = 4
?Set_Score@@YAXHM@Z PROC NEAR				; Set_Score, COMDAT

; 7802 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7803 : 	unsigned char *x = FindPlayer(PlayerID);

	mov	eax, DWORD PTR _PlayerID$[ebp]
	push	ebx
	push	eax
	call	DWORD PTR ?FindPlayer@@3P6APAEH@ZA	; FindPlayer
	add	esp, 4

; 7804 : 	if (!x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	SHORT $L83515

; 7805 : 	{
; 7806 : 		return;
; 7807 : 	}
; 7808 : #ifdef WIN32
; 7809 : 	_asm {
; 7810 : 		mov ecx,x

	mov	ecx, DWORD PTR _x$[ebp]

; 7811 : 		mov eax,amount

	mov	eax, DWORD PTR _amount$[ebp]

; 7812 : 		mov ebx,SetScore

	mov	ebx, DWORD PTR ?SetScore@@3P6AXM@ZA	; SetScore

; 7813 : 		push eax

	push	eax

; 7814 : 		call ebx

	call	ebx
$L83515:

; 7815 : 	}
; 7816 : #else
; 7817 : 	SetScore(x,amount);
; 7818 : #endif
; 7819 : }

	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Set_Score@@YAXHM@Z ENDP				; Set_Score
_TEXT	ENDS
PUBLIC	?Find_Base_Defense@@YAPAEH@Z			; Find_Base_Defense
PUBLIC	??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@		; `string'
PUBLIC	??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@ ; `string'
;	COMDAT ??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@
CONST	SEGMENT
??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@ DB 'mp_Nod_Obelisk', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@
CONST	SEGMENT
??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@ DB 'mp_GDI_Advanced_G'
	DB	'uard_Tower', 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Find_Base_Defense@@YAPAEH@Z
_TEXT	SEGMENT
_Team$ = 8						; size = 4
?Find_Base_Defense@@YAPAEH@Z PROC NEAR			; Find_Base_Defense, COMDAT

; 7839 : 	if (Team == 0) return Find_Building_By_Name(0,"mp_Nod_Obelisk");

	mov	eax, DWORD PTR _Team$[esp-4]
	test	eax, eax
	jne	SHORT $L83521
	push	OFFSET FLAT:??_C@_0P@EDOPODIP@mp_Nod_Obelisk?$AA@
	push	0

; 7840 : 	return Find_Building_By_Name(1,"mp_GDI_Advanced_Guard_Tower");

	call	?Find_Building_By_Name@@YAPAEHPBD@Z	; Find_Building_By_Name
	add	esp, 8

; 7841 : }

	ret	0
$L83521:

; 7840 : 	return Find_Building_By_Name(1,"mp_GDI_Advanced_Guard_Tower");

	push	OFFSET FLAT:??_C@_0BM@BKDLMOIE@mp_GDI_Advanced_Guard_Tower?$AA@
	push	1
	call	?Find_Building_By_Name@@YAPAEHPBD@Z	; Find_Building_By_Name
	add	esp, 8

; 7841 : }

	ret	0
?Find_Base_Defense@@YAPAEH@Z ENDP			; Find_Base_Defense
_TEXT	ENDS
PUBLIC	??_C@_0P@GBFBBODN@GDI_Engineer_0?$AA@		; `string'
PUBLIC	??_C@_0P@GBCNGBOM@Nod_Engineer_0?$AA@		; `string'
PUBLIC	?Destroy_Invalid_Bots@@YAXXZ			; Destroy_Invalid_Bots
;	COMDAT ??_C@_0P@GBFBBODN@GDI_Engineer_0?$AA@
CONST	SEGMENT
??_C@_0P@GBFBBODN@GDI_Engineer_0?$AA@ DB 'GDI_Engineer_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@GBCNGBOM@Nod_Engineer_0?$AA@
CONST	SEGMENT
??_C@_0P@GBCNGBOM@Nod_Engineer_0?$AA@ DB 'Nod_Engineer_0', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Destroy_Invalid_Bots@@YAXXZ
_TEXT	SEGMENT
$T88474 = -4						; size = 4
?Destroy_Invalid_Bots@@YAXXZ PROC NEAR			; Destroy_Invalid_Bots, COMDAT

; 7846 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7847 :     GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 7848 :  	while (x)

	test	edi, edi
	je	$L83529
	npad	9
$L83528:

; 7849 :  	{
; 7850 :  		GameObject *o = As_ScriptableGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T88474[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83533
	test	esi, esi
	je	SHORT $L83533
	mov	ecx, DWORD PTR $T88474[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax

; 7851 : 		if (o)

	test	esi, esi
	je	SHORT $L83533

; 7852 : 		{	
; 7853 : 			if (!stricmp(Commands->Get_Preset_Name(o),"GDI_Engineer_0") || !stricmp(Commands->Get_Preset_Name(o),"Nod_Engineer_0"))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0P@GBFBBODN@GDI_Engineer_0?$AA@
	push	esi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L83534
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0P@GBCNGBOM@Nod_Engineer_0?$AA@
	push	esi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L83533
$L83534:

; 7854 : 			{
; 7855 : 				Commands->Send_Custom_Event(o,o,8393,0,0);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	8393					; 000020c9H
	push	esi
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L83533:

; 7856 : 			}
; 7857 : 		}
; 7858 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L83528
$L83529:

; 7859 : 	}
; 7860 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Destroy_Invalid_Bots@@YAXXZ ENDP			; Destroy_Invalid_Bots
_TEXT	ENDS
PUBLIC	?Destroy_Duplicate_Objects_In_A_Position@@YAXPAE@Z ; Destroy_Duplicate_Objects_In_A_Position
; Function compile flags: /Ogty
;	COMDAT ?Destroy_Duplicate_Objects_In_A_Position@@YAXPAE@Z
_TEXT	SEGMENT
_p2$ = -36						; size = 12
$T88481 = -36						; size = 12
_p$ = -24						; size = 12
$T88483 = -12						; size = 12
_obj$ = 8						; size = 4
?Destroy_Duplicate_Objects_In_A_Position@@YAXPAE@Z PROC NEAR ; Destroy_Duplicate_Objects_In_A_Position, COMDAT

; 7862 : {

	sub	esp, 36					; 00000024H

; 7863 : 	Vector3 p;
; 7864 : 	p = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	ebx, DWORD PTR _obj$[esp+36]
	push	ebp
	lea	eax, DWORD PTR $T88481[esp+44]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _p$[esp+52], edx
	mov	edx, DWORD PTR [eax+8]

; 7865 : 	Vector3 p2;
; 7866 :     GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 7867 :  	while (x)

	test	ebp, ebp
	mov	DWORD PTR _p$[esp+48], ecx
	mov	DWORD PTR _p$[esp+52], edx
	je	$L83546
	push	esi
	push	edi
$L83545:

; 7868 :  	{
; 7869 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	edi, DWORD PTR [ebp+4]

; 7870 : 		if (o)

	test	edi, edi
	je	$L88490

; 7871 : 		{
; 7872 : 			if (strcmp(Commands->Get_Preset_Name(o),Commands->Get_Preset_Name(obj)) == 0)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+116]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	esi, eax
	call	DWORD PTR [edx+116]
	add	esp, 8
$L88486:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L88487
	test	cl, cl
	je	SHORT $L88488
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L88487
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L88486
$L88488:
	xor	eax, eax
	jmp	SHORT $L88489
$L88487:
	sbb	eax, eax
	sbb	eax, -1
$L88489:
	test	eax, eax
	jne	SHORT $L88490

; 7873 : 			{
; 7874 : 				p2 = Commands->Get_Position(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T88483[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _p2$[esp+60], edx

; 7875 : 				if (p.X == p2.X && p.Y == p2.Y && p.Z == p2.Z) { // && Commands->Get_ID(o) != Commands->Get_ID(obj)) {

	fld	DWORD PTR _p2$[esp+60]
	fld	DWORD PTR _p$[esp+60]
	mov	edx, DWORD PTR [eax+8]
	fucompp
	add	esp, 8
	mov	DWORD PTR _p2$[esp+56], ecx
	mov	DWORD PTR _p2$[esp+60], edx
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L88490
	fld	DWORD PTR _p2$[esp+56]
	fld	DWORD PTR _p$[esp+56]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L88490
	fld	DWORD PTR _p2$[esp+60]
	fld	DWORD PTR _p$[esp+60]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L88490

; 7876 : 					Commands->Destroy_Object(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L88490:

; 7877 : 				}
; 7878 : 			}
; 7879 : 		}
; 7880 : 		x = x->NodeNext;

	mov	ebp, DWORD PTR [ebp]
	test	ebp, ebp
	jne	$L83545
	pop	edi
	pop	esi
$L83546:
	pop	ebp
	pop	ebx

; 7881 : 	}
; 7882 : 	return;
; 7883 : }

	add	esp, 36					; 00000024H
	ret	0
?Destroy_Duplicate_Objects_In_A_Position@@YAXPAE@Z ENDP	; Destroy_Duplicate_Objects_In_A_Position
_TEXT	ENDS
PUBLIC	?Disable_Radar@@YAXPAE@Z			; Disable_Radar
; Function compile flags: /Ogty
;	COMDAT ?Disable_Radar@@YAXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Disable_Radar@@YAXPAE@Z PROC NEAR			; Disable_Radar, COMDAT

; 7886 : 	{
; 7887 : 		Enable_Radar_Player(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	push	0
	push	eax
	call	DWORD PTR ?Enable_Radar_Player@@3P6AXPAE_N@ZA ; Enable_Radar_Player
	add	esp, 8

; 7888 : 	}
; 7889 : }

	ret	0
?Disable_Radar@@YAXPAE@Z ENDP				; Disable_Radar
_TEXT	ENDS
PUBLIC	__real@41200000
PUBLIC	??_C@_0L@CAEDLCPF@message?5?$CFs?$AA@		; `string'
PUBLIC	?Say_Nearest_Objects_To_Pos@@YAXUVector3@@@Z	; Say_Nearest_Objects_To_Pos
;	COMDAT __real@41200000
CONST	SEGMENT
__real@41200000 DD 041200000r			; 10
CONST	ENDS
;	COMDAT ??_C@_0L@CAEDLCPF@message?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0L@CAEDLCPF@message?5?$CFs?$AA@ DB 'message %s', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Say_Nearest_Objects_To_Pos@@YAXUVector3@@@Z
_TEXT	SEGMENT
_p2$ = -536						; size = 12
$T88498 = -524						; size = 12
_mess$83569 = -512					; size = 512
_p$ = 8							; size = 12
?Say_Nearest_Objects_To_Pos@@YAXUVector3@@@Z PROC NEAR	; Say_Nearest_Objects_To_Pos, COMDAT

; 7892 : 	Vector3 p2;
; 7893 :     GenericSLNode *x = BaseGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	sub	esp, 536				; 00000218H
	push	edi
	mov	edi, DWORD PTR [eax+4]

; 7894 :  	while (x)

	test	edi, edi
	je	$L83563
	push	esi
	npad	8
$L83562:

; 7895 :  	{
; 7896 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7897 : 		if (o)

	test	esi, esi
	je	$L83566

; 7898 : 		{
; 7899 : 			p2 = Commands->Get_Position(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T88498[esp+544]
	push	esi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _p2$[esp+552], ecx

; 7900 : 			if (p2.X + 10 > p.X && p2.X - 10 < p.X) {

	fld	DWORD PTR _p2$[esp+552]
	fadd	DWORD PTR __real@41200000
	mov	DWORD PTR _p2$[esp+560], eax
	add	esp, 8
	mov	DWORD PTR _p2$[esp+548], edx
	fcomp	DWORD PTR _p$[esp+540]
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L88500
	fld	DWORD PTR _p2$[esp+544]
	fsub	DWORD PTR __real@41200000
	fcomp	DWORD PTR _p$[esp+540]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L88500

; 7901 : 			{
; 7902 : 				char mess[512];
; 7903 : 				sprintf(mess,"message %s",Commands->Get_Preset_Name(o));

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+116]
	push	eax
	lea	edx, DWORD PTR _mess$83569[esp+552]
	push	OFFSET FLAT:??_C@_0L@CAEDLCPF@message?5?$CFs?$AA@
	push	edx
	call	_sprintf

; 7904 : 				Console_Input(mess);

	lea	eax, DWORD PTR _mess$83569[esp+560]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L88504:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L88504
	sub	eax, edx
	cmp	eax, 255				; 000000ffH
	ja	SHORT $L88500
	lea	eax, DWORD PTR _mess$83569[esp+544]
	push	eax
	call	DWORD PTR ?Parse_Console_Input@@3P6AXPBD@ZA ; Parse_Console_Input
	add	esp, 4
$L88500:

; 7905 : 			}
; 7906 : 		}
; 7907 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
$L83566:

; 7894 :  	while (x)

	test	edi, edi
	jne	$L83562
	pop	esi
$L83563:
	pop	edi

; 7908 : 	}
; 7909 : 	}
; 7910 : 	return;
; 7911 : }

	add	esp, 536				; 00000218H
	ret	0
?Say_Nearest_Objects_To_Pos@@YAXUVector3@@@Z ENDP	; Say_Nearest_Objects_To_Pos
_TEXT	ENDS
PUBLIC	?Destroy_All_Objects_By_Preset@@YAXPBD@Z	; Destroy_All_Objects_By_Preset
; Function compile flags: /Ogty
;	COMDAT ?Destroy_All_Objects_By_Preset@@YAXPBD@Z
_TEXT	SEGMENT
_Preset_Name$ = 8					; size = 4
?Destroy_All_Objects_By_Preset@@YAXPBD@Z PROC NEAR	; Destroy_All_Objects_By_Preset, COMDAT

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

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

; 7934 :  	while (x)

	test	ebp, ebp
	je	SHORT $L83591
	push	ebx
	mov	ebx, DWORD PTR _Preset_Name$[esp+4]
	push	esi
	push	edi
$L83590:

; 7935 :  	{
; 7936 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	edi, DWORD PTR [ebp+4]

; 7937 : 		if (o)

	test	edi, edi
	je	SHORT $L88516

; 7938 : 		{
; 7939 : 			if (strcmp(Commands->Get_Preset_Name(o),Preset_Name) == 0)

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	esi, ebx
	call	DWORD PTR [ecx+116]
	add	esp, 4
	npad	6
$L88512:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L88513
	test	cl, cl
	je	SHORT $L88514
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L88513
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L88512
$L88514:
	xor	eax, eax
	jmp	SHORT $L88515
$L88513:
	sbb	eax, eax
	sbb	eax, -1
$L88515:
	test	eax, eax
	jne	SHORT $L88516

; 7940 : 			{
; 7941 : 				Commands->Destroy_Object(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L88516:

; 7942 : 			}
; 7943 : 		}
; 7944 : 		x = x->NodeNext;

	mov	ebp, DWORD PTR [ebp]
	test	ebp, ebp
	jne	SHORT $L83590
	pop	edi
	pop	esi
	pop	ebx
$L83591:
	pop	ebp

; 7945 : 	}
; 7946 : 	return;
; 7947 : }

	ret	0
?Destroy_All_Objects_By_Preset@@YAXPBD@Z ENDP		; Destroy_All_Objects_By_Preset
_TEXT	ENDS
PUBLIC	?Get_Distance@@YAMUVector3@@0@Z			; Get_Distance
; Function compile flags: /Ogty
;	COMDAT ?Get_Distance@@YAMUVector3@@0@Z
_TEXT	SEGMENT
_distance1$ = -4					; size = 4
_p2$ = 8						; size = 12
_p$ = 20						; size = 12
?Get_Distance@@YAMUVector3@@0@Z PROC NEAR		; Get_Distance, COMDAT

; 7949 :  {

	push	ecx

; 7950 : 	 float distance1 = 0;
; 7951 : 	 float distance2 = 0;

	fld	DWORD PTR __real@00000000
	mov	DWORD PTR _distance1$[esp+4], 0

; 7952 : 	 float distance4 = 0;
; 7953 : 	 if (p.X >= p2.X) { distance1 = p.X - p2.X; }

	fld	DWORD PTR _p$[esp]
	fcomp	DWORD PTR _p2$[esp]
	fnstsw	ax
	test	ah, 1
	jne	SHORT $L83603
	fld	DWORD PTR _p$[esp]
	fsub	DWORD PTR _p2$[esp]
	fstp	DWORD PTR _distance1$[esp+4]
$L83603:

; 7954 : 	 if (p.X < p2.X) { distance1 = p2.X - p.X; }

	fld	DWORD PTR _p$[esp]
	fcomp	DWORD PTR _p2$[esp]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L83604
	fld	DWORD PTR _p2$[esp]
	fsub	DWORD PTR _p$[esp]
	fstp	DWORD PTR _distance1$[esp+4]
$L83604:

; 7955 : 	 if (p.Y >= p2.Y) { distance2 = p.Y - p2.Y; }

	fld	DWORD PTR _p$[esp+4]
	fcomp	DWORD PTR _p2$[esp+4]
	fnstsw	ax
	test	ah, 1
	jne	SHORT $L83605
	fstp	ST(0)
	fld	DWORD PTR _p$[esp+4]
	fsub	DWORD PTR _p2$[esp+4]
$L83605:

; 7956 : 	 if (p.Y < p2.Y) { distance2 = p2.Y - p.Y; }

	fld	DWORD PTR _p$[esp+4]
	fcomp	DWORD PTR _p2$[esp+4]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L83606
	fstp	ST(0)
	fld	DWORD PTR _p2$[esp+4]
	fsub	DWORD PTR _p$[esp+4]
$L83606:

; 7957 : 	 distance4 = distance1 + distance2;

	fadd	DWORD PTR _distance1$[esp+4]

; 7958 : 	 return distance4;


; 7959 :  }

	pop	ecx
	ret	0
?Get_Distance@@YAMUVector3@@0@Z ENDP			; Get_Distance
_TEXT	ENDS
PUBLIC	?Find_Closest_Building_To_Pos_By_Team@@YAPAEUVector3@@H@Z ; Find_Closest_Building_To_Pos_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Find_Closest_Building_To_Pos_By_Team@@YAPAEUVector3@@H@Z
_TEXT	SEGMENT
$T88525 = -40						; size = 12
_pos$83620 = -28					; size = 12
_closest$ = -16						; size = 4
_closestdist$ = -12					; size = 4
_dist$83622 = -8					; size = 4
_o$83617 = -4						; size = 4
_position$ = 8						; size = 12
_team$ = 20						; size = 4
?Find_Closest_Building_To_Pos_By_Team@@YAPAEUVector3@@H@Z PROC NEAR ; Find_Closest_Building_To_Pos_By_Team, COMDAT

; 7961 :  {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 7962 :     float closestdist = FLT_MAX;
; 7963 :     GameObject *closest = 0;
; 7964 :     GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 7965 :  	while (x)

	test	edi, edi
	mov	DWORD PTR _closestdist$[ebp], 2139095039 ; 7f7fffffH
	mov	DWORD PTR _closest$[ebp], eax
	je	$L83616
$L83615:

; 7966 :  	{
; 7967 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7968 : 		if (Is_Building(o) && Commands->Get_Health(o) > 0)

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$83617[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L83623
	test	esi, esi
	je	$L83623
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L83623
	mov	ecx, DWORD PTR _o$83617[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	test	eax, eax
	je	$L83623
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+220]
	fcomp	DWORD PTR __real@00000000
	add	esp, 4
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L83623

; 7969 : 		{
; 7970 : 			Vector3 pos = Commands->Get_Position(o);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T88525[ebp]
	push	esi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$83620[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$83620[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]

; 7971 : 			float dist = Commands->Get_Distance(pos,position);				

	lea	ecx, DWORD PTR _position$[ebp]
	push	ecx
	lea	edx, DWORD PTR _pos$83620[ebp]
	mov	DWORD PTR _pos$83620[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fst	DWORD PTR _dist$83622[ebp]

; 7972 : 			if (dist < closestdist && Get_Object_Type(o) != team)

	fcomp	DWORD PTR _closestdist$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L83623
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88556
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L88556
	mov	ecx, DWORD PTR _o$83617[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L88556
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L88554
$L88556:
	xor	eax, eax
$L88554:
	cmp	eax, DWORD PTR _team$[ebp]
	je	SHORT $L83623

; 7973 : 			{
; 7974 : 				closestdist = dist;

	mov	eax, DWORD PTR _dist$83622[ebp]
	mov	DWORD PTR _closestdist$[ebp], eax

; 7975 :  				closest = o;

	mov	DWORD PTR _closest$[ebp], esi
$L83623:

; 7976 : 			}
; 7977 : 		}
; 7978 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L83615

; 7979 : 	}
; 7980 : 	return closest;

	mov	eax, DWORD PTR _closest$[ebp]
$L83616:

; 7981 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Closest_Building_To_Pos_By_Team@@YAPAEUVector3@@H@Z ENDP ; Find_Closest_Building_To_Pos_By_Team
_TEXT	ENDS
PUBLIC	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
; Function compile flags: /Ogty
;	COMDAT ?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z
_TEXT	SEGMENT
$T88571 = -40						; size = 12
_pos$83637 = -28					; size = 12
_closest$ = -16						; size = 4
_closestdist$ = -12					; size = 4
_dist$83639 = -8					; size = 4
_o$83634 = -8						; size = 4
_x$ = -4						; size = 4
_position$ = 8						; size = 12
_Name$ = 20						; size = 4
?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z PROC NEAR ; Find_Closest_Object_To_Pos_By_Preset, COMDAT

; 7983 :  {

	push	ebp
	mov	ebp, esp
	sub	esp, 40					; 00000028H

; 7984 :     float closestdist = FLT_MAX;
; 7985 :     GameObject *closest = 0;
; 7986 :     GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 7987 :  	while (x)

	test	ecx, ecx
	push	esi
	push	edi
	mov	DWORD PTR _closestdist$[ebp], 2139095039 ; 7f7fffffH
	mov	DWORD PTR _closest$[ebp], eax
	mov	DWORD PTR _x$[ebp], ecx
	je	$L83633
	npad	7
$L83632:

; 7988 :  	{
; 7989 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	edx, DWORD PTR _x$[ebp]
	mov	edi, DWORD PTR [edx+4]

; 7990 : 		if (As_ScriptableGameObj(o))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	DWORD PTR _o$83634[ebp], edi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L83640
	test	edi, edi
	je	$L83640
	mov	ecx, DWORD PTR _o$83634[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L83640

; 7991 : 		{
; 7992 : 			Vector3 pos = Commands->Get_Position(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T88571[ebp]
	push	edi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$83637[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$83637[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]

; 7993 : 			float dist = Commands->Get_Distance(pos,position);				

	lea	ecx, DWORD PTR _position$[ebp]
	push	ecx
	lea	edx, DWORD PTR _pos$83637[ebp]
	mov	DWORD PTR _pos$83637[ebp+8], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fst	DWORD PTR _dist$83639[ebp]

; 7994 : 			if (dist < closestdist && strcmp(Commands->Get_Preset_Name(o),Name) == 0)

	fcomp	DWORD PTR _closestdist$[ebp]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L83640
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, DWORD PTR _Name$[ebp]
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	npad	7
$L88580:
	mov	dl, BYTE PTR [eax]
	mov	bl, BYTE PTR [esi]
	mov	cl, dl
	cmp	dl, bl
	jne	SHORT $L88581
	test	cl, cl
	je	SHORT $L88582
	mov	dl, BYTE PTR [eax+1]
	mov	bl, BYTE PTR [esi+1]
	mov	cl, dl
	cmp	dl, bl
	jne	SHORT $L88581
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L88580
$L88582:
	xor	eax, eax
	jmp	SHORT $L88583
$L88581:
	sbb	eax, eax
	sbb	eax, -1
$L88583:
	test	eax, eax
	jne	SHORT $L83640

; 7995 : 			{
; 7996 : 
; 7997 : 				closestdist = dist;

	mov	eax, DWORD PTR _dist$83639[ebp]
	mov	DWORD PTR _closestdist$[ebp], eax

; 7998 :  				closest = o;

	mov	DWORD PTR _closest$[ebp], edi
$L83640:

; 7999 : 			}
; 8000 : 		}
; 8001 : 		x = x->NodeNext;

	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [ecx]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L83632

; 8002 : 	}
; 8003 : 	return closest;

	mov	eax, DWORD PTR _closest$[ebp]
$L83633:

; 8004 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ENDP ; Find_Closest_Object_To_Pos_By_Preset
_TEXT	ENDS
PUBLIC	?Find_Closest_Object_To_Pos@@YAPAEUVector3@@@Z	; Find_Closest_Object_To_Pos
; Function compile flags: /Ogty
;	COMDAT ?Find_Closest_Object_To_Pos@@YAPAEUVector3@@@Z
_TEXT	SEGMENT
_closestdist$ = -28					; size = 4
_pos$83653 = -24					; size = 12
$T88592 = -12						; size = 12
_position$ = 8						; size = 12
?Find_Closest_Object_To_Pos@@YAPAEUVector3@@@Z PROC NEAR ; Find_Closest_Object_To_Pos, COMDAT

; 8006 :  {

	sub	esp, 28					; 0000001cH

; 8007 :     float closestdist = FLT_MAX;
; 8008 :     GameObject *closest = 0;
; 8009 :     GenericSLNode *x = BaseGameObjList->HeadNode;

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

; 8010 :  	while (x)

	test	esi, esi
	mov	DWORD PTR _closestdist$[esp+36], 2139095039 ; 7f7fffffH
	je	SHORT $L88595
	push	edi
	npad	4
$L83648:

; 8011 :  	{
; 8012 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	edi, DWORD PTR [esi+4]

; 8013 : 		if (o)

	test	edi, edi
	je	SHORT $L83656

; 8014 : 		{
; 8015 : 			Vector3 pos = Commands->Get_Position(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T88592[esp+40]
	push	edi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$83653[esp+48], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$83653[esp+52], edx
	mov	eax, DWORD PTR [eax+8]

; 8016 : 			float dist = Commands->Get_Distance(pos,position);				

	lea	ecx, DWORD PTR _position$[esp+44]
	push	ecx
	lea	edx, DWORD PTR _pos$83653[esp+52]
	mov	DWORD PTR _pos$83653[esp+60], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]

; 8017 : 			if (dist < closestdist)

	fcom	DWORD PTR _closestdist$[esp+56]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L88596

; 8018 : 			{
; 8019 : 
; 8020 : 				closestdist = dist;

	fstp	DWORD PTR _closestdist$[esp+40]

; 8021 :  				closest = o;

	mov	ebx, edi
	jmp	SHORT $L83656
$L88596:
	fstp	ST(0)
$L83656:

; 8022 : 			}
; 8023 : 		}
; 8024 : 		x = x->NodeNext;

	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $L83648
	pop	edi
$L88595:
	pop	esi

; 8025 : 		}
; 8026 : 	return closest;

	mov	eax, ebx
	pop	ebx

; 8027 : }

	add	esp, 28					; 0000001cH
	ret	0
?Find_Closest_Object_To_Pos@@YAPAEUVector3@@@Z ENDP	; Find_Closest_Object_To_Pos
_TEXT	ENDS
PUBLIC	??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@	; `string'
PUBLIC	??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@	; `string'
PUBLIC	?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z	; Destroy_Invalids
PUBLIC	??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@	; `string'
PUBLIC	??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@	; `string'
PUBLIC	??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@	; `string'
PUBLIC	??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@	; `string'
PUBLIC	??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@ ; `string'
PUBLIC	??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@	; `string'
PUBLIC	??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@ ; `string'
PUBLIC	??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@	; `string'
PUBLIC	??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@	; `string'
PUBLIC	??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@	; `string'
PUBLIC	??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@ ; `string'
PUBLIC	??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@	; `string'
PUBLIC	??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@	; `string'
PUBLIC	??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@ ; `string'
PUBLIC	??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@	; `string'
PUBLIC	??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@ ; `string'
PUBLIC	??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@ ; `string'
PUBLIC	??_C@_0BF@DOAGEOAC@CnC_GDI_MiniGunner_0?$AA@	; `string'
PUBLIC	??_C@_0BI@OGHPPNHJ@CnC_GDI_RocketSoldier_0?$AA@	; `string'
PUBLIC	??_C@_0BE@DONKOEGE@CnC_GDI_Grenadier_0?$AA@	; `string'
PUBLIC	??_C@_0BD@DEFNPFMD@CnC_GDI_Engineer_0?$AA@	; `string'
PUBLIC	??_C@_0BI@FPHAJIG@CnC_GDI_MiniGunner_1Off?$AA@	; `string'
PUBLIC	??_C@_0BL@LLGCLKAM@CnC_GDI_RocketSoldier_1Off?$AA@ ; `string'
PUBLIC	??_C@_0L@EGFPOOHM@CnC_Sydney?$AA@		; `string'
PUBLIC	??_C@_0BH@MBICIAPC@CnC_GDI_MiniGunner_2SF?$AA@	; `string'
PUBLIC	??_C@_0BK@FPCBBKIA@CnC_GDI_RocketSoldier_2SF?$AA@ ; `string'
PUBLIC	??_C@_0BG@MECGAGPJ@CnC_GDI_Grenadier_2SF?$AA@	; `string'
PUBLIC	??_C@_0BO@PPCFPGNB@CnC_GDI_MiniGunner_3Boss_ALT2?$AA@ ; `string'
PUBLIC	??_C@_0BO@OGDOMHJA@CnC_GDI_MiniGunner_3Boss_ALT3?$AA@ ; `string'
PUBLIC	??_C@_0BO@KJHPFBFH@CnC_GDI_MiniGunner_3Boss_ALT4?$AA@ ; `string'
PUBLIC	??_C@_0BJ@NCHBLAIC@CnC_GDI_MiniGunner_3Boss?$AA@ ; `string'
PUBLIC	??_C@_0BK@EFLLEGCI@CnC_Sydney_PowerSuit_ALT2?$AA@ ; `string'
PUBLIC	??_C@_0BF@HCCCIBHA@CnC_Sydney_PowerSuit?$AA@	; `string'
PUBLIC	??_C@_0BI@FLDDOONJ@CnC_Ignatio_Mobius_ALT2?$AA@	; `string'
PUBLIC	??_C@_0BD@CMAELMFM@CnC_Ignatio_Mobius?$AA@	; `string'
PUBLIC	??_C@_0BF@EPNAAGKC@CnC_GDI_Engineer_2SF?$AA@	; `string'
PUBLIC	??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@	; `string'
PUBLIC	??_C@_0BI@DMFNIKGO@CnC_Nod_RocketSoldier_0?$AA@	; `string'
PUBLIC	??_C@_0BH@CPEKHDKF@CnC_Nod_FlameThrower_0?$AA@	; `string'
PUBLIC	??_C@_0BD@DECBIKBC@CnC_Nod_Engineer_0?$AA@	; `string'
PUBLIC	??_C@_0BI@MHOEKFGJ@CnC_Nod_Minigunner_1Off?$AA@	; `string'
PUBLIC	??_C@_0BL@BHBFKBPG@CnC_Nod_RocketSoldier_1Off?$AA@ ; `string'
PUBLIC	??_C@_0BK@MMECAHHH@CnC_Nod_FlameThrower_1Off?$AA@ ; `string'
PUBLIC	??_C@_0BH@FNBMIEO@CnC_Nod_Minigunner_2SF?$AA@	; `string'
PUBLIC	??_C@_0BK@JEMDKAKL@CnC_Nod_RocketSoldier_2SF?$AA@ ; `string'
PUBLIC	??_C@_0BJ@HIKMPHIB@CnC_Nod_FlameThrower_2SF?$AA@ ; `string'
PUBLIC	??_C@_0BO@CACBCPHO@CnC_Nod_MiniGunner_3Boss_ALT2?$AA@ ; `string'
PUBLIC	??_C@_0BJ@OCAGFMMH@CnC_Nod_Minigunner_3Boss?$AA@ ; `string'
PUBLIC	??_C@_0CB@NHIENBOK@CnC_Nod_RocketSoldier_3Boss_ALT2@ ; `string'
PUBLIC	??_C@_0BM@ICGGCDBG@CnC_Nod_RocketSoldier_3Boss?$AA@ ; `string'
PUBLIC	??_C@_0CA@CKAJJBGL@CnC_Nod_FlameThrower_3Boss_ALT2?$AA@ ; `string'
PUBLIC	??_C@_0BL@BIACMHAG@CnC_Nod_FlameThrower_3Boss?$AA@ ; `string'
PUBLIC	??_C@_0BF@OCIKBOAE@CnC_Nod_Technician_0?$AA@	; `string'
;	COMDAT ??_C@_0BF@DOAGEOAC@CnC_GDI_MiniGunner_0?$AA@
CONST	SEGMENT
??_C@_0BF@DOAGEOAC@CnC_GDI_MiniGunner_0?$AA@ DB 'CnC_GDI_MiniGunner_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@ DB 'POW_AutoRifle_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@OGHPPNHJ@CnC_GDI_RocketSoldier_0?$AA@
CONST	SEGMENT
??_C@_0BI@OGHPPNHJ@CnC_GDI_RocketSoldier_0?$AA@ DB 'CnC_GDI_RocketSoldier'
	DB	'_0', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
CONST	SEGMENT
??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@ DB 'POW_Shotgun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@DONKOEGE@CnC_GDI_Grenadier_0?$AA@
CONST	SEGMENT
??_C@_0BE@DONKOEGE@CnC_GDI_Grenadier_0?$AA@ DB 'CnC_GDI_Grenadier_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@
CONST	SEGMENT
??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@ DB 'POW_GrenadeLaunche'
	DB	'r_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@DEFNPFMD@CnC_GDI_Engineer_0?$AA@
CONST	SEGMENT
??_C@_0BD@DEFNPFMD@CnC_GDI_Engineer_0?$AA@ DB 'CnC_GDI_Engineer_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
CONST	SEGMENT
??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@ DB 'POW_RepairGun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
CONST	SEGMENT
??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@ DB 'CnC_POW_MineRemote_02', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@FPHAJIG@CnC_GDI_MiniGunner_1Off?$AA@
CONST	SEGMENT
??_C@_0BI@FPHAJIG@CnC_GDI_MiniGunner_1Off?$AA@ DB 'CnC_GDI_MiniGunner_1Of'
	DB	'f', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
CONST	SEGMENT
??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@ DB 'POW_Chaingun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@LLGCLKAM@CnC_GDI_RocketSoldier_1Off?$AA@
CONST	SEGMENT
??_C@_0BL@LLGCLKAM@CnC_GDI_RocketSoldier_1Off?$AA@ DB 'CnC_GDI_RocketSold'
	DB	'ier_1Off', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
CONST	SEGMENT
??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@ DB 'POW_RocketLauncher_'
	DB	'Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@EGFPOOHM@CnC_Sydney?$AA@
CONST	SEGMENT
??_C@_0L@EGFPOOHM@CnC_Sydney?$AA@ DB 'CnC_Sydney', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@ DB 'POW_TiberiumAuto'
	DB	'Rifle_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@MBICIAPC@CnC_GDI_MiniGunner_2SF?$AA@
CONST	SEGMENT
??_C@_0BH@MBICIAPC@CnC_GDI_MiniGunner_2SF?$AA@ DB 'CnC_GDI_MiniGunner_2SF'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@ DB 'POW_SniperRifle_Player'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@FPCBBKIA@CnC_GDI_RocketSoldier_2SF?$AA@
CONST	SEGMENT
??_C@_0BK@FPCBBKIA@CnC_GDI_RocketSoldier_2SF?$AA@ DB 'CnC_GDI_RocketSoldi'
	DB	'er_2SF', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@
CONST	SEGMENT
??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@ DB 'CnC_POW_RocketL'
	DB	'auncher_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@MECGAGPJ@CnC_GDI_Grenadier_2SF?$AA@
CONST	SEGMENT
??_C@_0BG@MECGAGPJ@CnC_GDI_Grenadier_2SF?$AA@ DB 'CnC_GDI_Grenadier_2SF', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@
CONST	SEGMENT
??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@ DB 'POW_TiberiumF'
	DB	'lechetteGun_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@PPCFPGNB@CnC_GDI_MiniGunner_3Boss_ALT2?$AA@
CONST	SEGMENT
??_C@_0BO@PPCFPGNB@CnC_GDI_MiniGunner_3Boss_ALT2?$AA@ DB 'CnC_GDI_MiniGun'
	DB	'ner_3Boss_ALT2', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@ DB 'POW_RamjetRifle_Player'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@OGDOMHJA@CnC_GDI_MiniGunner_3Boss_ALT3?$AA@
CONST	SEGMENT
??_C@_0BO@OGDOMHJA@CnC_GDI_MiniGunner_3Boss_ALT3?$AA@ DB 'CnC_GDI_MiniGun'
	DB	'ner_3Boss_ALT3', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@KJHPFBFH@CnC_GDI_MiniGunner_3Boss_ALT4?$AA@
CONST	SEGMENT
??_C@_0BO@KJHPFBFH@CnC_GDI_MiniGunner_3Boss_ALT4?$AA@ DB 'CnC_GDI_MiniGun'
	DB	'ner_3Boss_ALT4', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@NCHBLAIC@CnC_GDI_MiniGunner_3Boss?$AA@
CONST	SEGMENT
??_C@_0BJ@NCHBLAIC@CnC_GDI_MiniGunner_3Boss?$AA@ DB 'CnC_GDI_MiniGunner_3'
	DB	'Boss', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@EFLLEGCI@CnC_Sydney_PowerSuit_ALT2?$AA@
CONST	SEGMENT
??_C@_0BK@EFLLEGCI@CnC_Sydney_PowerSuit_ALT2?$AA@ DB 'CnC_Sydney_PowerSui'
	DB	't_ALT2', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
CONST	SEGMENT
??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@ DB 'POW_PersonalIonC'
	DB	'annon_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@HCCCIBHA@CnC_Sydney_PowerSuit?$AA@
CONST	SEGMENT
??_C@_0BF@HCCCIBHA@CnC_Sydney_PowerSuit?$AA@ DB 'CnC_Sydney_PowerSuit', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@FLDDOONJ@CnC_Ignatio_Mobius_ALT2?$AA@
CONST	SEGMENT
??_C@_0BI@FLDDOONJ@CnC_Ignatio_Mobius_ALT2?$AA@ DB 'CnC_Ignatio_Mobius_AL'
	DB	'T2', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@ DB 'POW_VoltAutoRifle_Pla'
	DB	'yer', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@CMAELMFM@CnC_Ignatio_Mobius?$AA@
CONST	SEGMENT
??_C@_0BD@CMAELMFM@CnC_Ignatio_Mobius?$AA@ DB 'CnC_Ignatio_Mobius', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@EPNAAGKC@CnC_GDI_Engineer_2SF?$AA@
CONST	SEGMENT
??_C@_0BF@EPNAAGKC@CnC_GDI_Engineer_2SF?$AA@ DB 'CnC_GDI_Engineer_2SF', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
CONST	SEGMENT
??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@ DB 'CnC_Nod_Minigunner_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@ DB 'POW_AutoRifle_Player'
	DB	'_Nod', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@DMFNIKGO@CnC_Nod_RocketSoldier_0?$AA@
CONST	SEGMENT
??_C@_0BI@DMFNIKGO@CnC_Nod_RocketSoldier_0?$AA@ DB 'CnC_Nod_RocketSoldier'
	DB	'_0', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@CPEKHDKF@CnC_Nod_FlameThrower_0?$AA@
CONST	SEGMENT
??_C@_0BH@CPEKHDKF@CnC_Nod_FlameThrower_0?$AA@ DB 'CnC_Nod_FlameThrower_0'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
CONST	SEGMENT
??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@ DB 'POW_Flamethrower_Play'
	DB	'er', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@DECBIKBC@CnC_Nod_Engineer_0?$AA@
CONST	SEGMENT
??_C@_0BD@DECBIKBC@CnC_Nod_Engineer_0?$AA@ DB 'CnC_Nod_Engineer_0', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@MHOEKFGJ@CnC_Nod_Minigunner_1Off?$AA@
CONST	SEGMENT
??_C@_0BI@MHOEKFGJ@CnC_Nod_Minigunner_1Off?$AA@ DB 'CnC_Nod_Minigunner_1O'
	DB	'ff', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@BHBFKBPG@CnC_Nod_RocketSoldier_1Off?$AA@
CONST	SEGMENT
??_C@_0BL@BHBFKBPG@CnC_Nod_RocketSoldier_1Off?$AA@ DB 'CnC_Nod_RocketSold'
	DB	'ier_1Off', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@MMECAHHH@CnC_Nod_FlameThrower_1Off?$AA@
CONST	SEGMENT
??_C@_0BK@MMECAHHH@CnC_Nod_FlameThrower_1Off?$AA@ DB 'CnC_Nod_FlameThrowe'
	DB	'r_1Off', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
CONST	SEGMENT
??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@ DB 'POW_ChemSprayer_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@FNBMIEO@CnC_Nod_Minigunner_2SF?$AA@
CONST	SEGMENT
??_C@_0BH@FNBMIEO@CnC_Nod_Minigunner_2SF?$AA@ DB 'CnC_Nod_Minigunner_2SF', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@ DB 'POW_SniperRifle_Pla'
	DB	'yer_Nod', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@JEMDKAKL@CnC_Nod_RocketSoldier_2SF?$AA@
CONST	SEGMENT
??_C@_0BK@JEMDKAKL@CnC_Nod_RocketSoldier_2SF?$AA@ DB 'CnC_Nod_RocketSoldi'
	DB	'er_2SF', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@
CONST	SEGMENT
??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@ DB 'POW_LaserChaingun_Pla'
	DB	'yer', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@HIKMPHIB@CnC_Nod_FlameThrower_2SF?$AA@
CONST	SEGMENT
??_C@_0BJ@HIKMPHIB@CnC_Nod_FlameThrower_2SF?$AA@ DB 'CnC_Nod_FlameThrower'
	DB	'_2SF', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@ DB 'POW_LaserRifle_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@CACBCPHO@CnC_Nod_MiniGunner_3Boss_ALT2?$AA@
CONST	SEGMENT
??_C@_0BO@CACBCPHO@CnC_Nod_MiniGunner_3Boss_ALT2?$AA@ DB 'CnC_Nod_MiniGun'
	DB	'ner_3Boss_ALT2', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@OCAGFMMH@CnC_Nod_Minigunner_3Boss?$AA@
CONST	SEGMENT
??_C@_0BJ@OCAGFMMH@CnC_Nod_Minigunner_3Boss?$AA@ DB 'CnC_Nod_Minigunner_3'
	DB	'Boss', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@NHIENBOK@CnC_Nod_RocketSoldier_3Boss_ALT2@
CONST	SEGMENT
??_C@_0CB@NHIENBOK@CnC_Nod_RocketSoldier_3Boss_ALT2@ DB 'CnC_Nod_RocketSo'
	DB	'ldier_3Boss_ALT2', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
CONST	SEGMENT
??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@ DB 'POW_Railgun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@ICGGCDBG@CnC_Nod_RocketSoldier_3Boss?$AA@
CONST	SEGMENT
??_C@_0BM@ICGGCDBG@CnC_Nod_RocketSoldier_3Boss?$AA@ DB 'CnC_Nod_RocketSol'
	DB	'dier_3Boss', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@CKAJJBGL@CnC_Nod_FlameThrower_3Boss_ALT2?$AA@
CONST	SEGMENT
??_C@_0CA@CKAJJBGL@CnC_Nod_FlameThrower_3Boss_ALT2?$AA@ DB 'CnC_Nod_Flame'
	DB	'Thrower_3Boss_ALT2', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@
CONST	SEGMENT
??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@ DB 'CnC_POW_VoltAuto'
	DB	'Rifle_Player_Nod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@BIACMHAG@CnC_Nod_FlameThrower_3Boss?$AA@
CONST	SEGMENT
??_C@_0BL@BIACMHAG@CnC_Nod_FlameThrower_3Boss?$AA@ DB 'CnC_Nod_FlameThrow'
	DB	'er_3Boss', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@OCIKBOAE@CnC_Nod_Technician_0?$AA@
CONST	SEGMENT
??_C@_0BF@OCIKBOAE@CnC_Nod_Technician_0?$AA@ DB 'CnC_Nod_Technician_0', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z
_TEXT	SEGMENT
_o$ = -4						; size = 4
_Preset$ = 8						; size = 4
_p$ = 12						; size = 12
_obj$ = 24						; size = 4
?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z PROC NEAR	; Destroy_Invalids, COMDAT

; 8134 : {

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

; 8135 : 	GameObject *o = 0;
; 8136 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	push	edi
	mov	edi, OFFSET FLAT:??_C@_0BF@DOAGEOAC@CnC_GDI_MiniGunner_0?$AA@
	mov	ecx, 21					; 00000015H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83845

; 8137 : 		//Commands->Send_Custom_Event(obj,obj,580,0,0);
; 8138 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_AutoRifle_Player");

	mov	edx, DWORD PTR _p$[ebp]
	mov	eax, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [ecx+4], eax
	mov	DWORD PTR [ecx+8], edx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
	mov	esi, eax

; 8139 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83845
	test	esi, esi
	je	SHORT $L83845
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83845
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+92]
	add	esp, 4
$L83845:

; 8140 : 	}
; 8141 : 	if (strcmp(Preset,"CnC_GDI_RocketSoldier_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BI@OGHPPNHJ@CnC_GDI_RocketSoldier_0?$AA@
	mov	ecx, 24					; 00000018H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83848

; 8142 : 		//Commands->Send_Custom_Event(obj,obj,581,0,0);
; 8143 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Shotgun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8144 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83848
	test	esi, esi
	je	SHORT $L83848
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83848
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83848:

; 8145 : 	}
; 8146 : 	if (strcmp(Preset,"CnC_GDI_Grenadier_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BE@DONKOEGE@CnC_GDI_Grenadier_0?$AA@
	mov	ecx, 20					; 00000014H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83851

; 8147 : 		//Commands->Send_Custom_Event(obj,obj,582,0,0);                                      
; 8148 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_GrenadeLauncher_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8149 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83851
	test	esi, esi
	je	SHORT $L83851
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83851
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83851:

; 8150 : 	}
; 8151 : 	if (strcmp(Preset,"CnC_GDI_Engineer_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BD@DEFNPFMD@CnC_GDI_Engineer_0?$AA@
	mov	ecx, 19					; 00000013H
	xor	edx, edx
	repe cmpsb
	jne	$L83855

; 8152 : 		//Commands->Send_Custom_Event(obj,obj,583,0,0);                                      
; 8153 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RepairGun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8154 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83854
	test	esi, esi
	je	SHORT $L83854
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83854
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83854:

; 8155 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_MineRemote_02");

	mov	edx, DWORD PTR _p$[ebp]
	mov	eax, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [ecx+4], eax
	mov	DWORD PTR [ecx+8], edx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
	mov	esi, eax

; 8156 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83855
	test	esi, esi
	je	SHORT $L83855
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83855
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+92]
	add	esp, 4
$L83855:

; 8157 : 	}
; 8158 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_1Off") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BI@FPHAJIG@CnC_GDI_MiniGunner_1Off?$AA@
	mov	ecx, 24					; 00000018H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83858

; 8159 : 		//Commands->Send_Custom_Event(obj,obj,584,0,0);
; 8160 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Chaingun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8161 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83858
	test	esi, esi
	je	SHORT $L83858
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83858
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83858:

; 8162 : 	}
; 8163 : 	if (strcmp(Preset,"CnC_GDI_RocketSoldier_1Off") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BL@LLGCLKAM@CnC_GDI_RocketSoldier_1Off?$AA@
	mov	ecx, 27					; 0000001bH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83861

; 8164 : 		//Commands->Send_Custom_Event(obj,obj,585,0,0);
; 8165 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RocketLauncher_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8166 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83861
	test	esi, esi
	je	SHORT $L83861
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83861
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83861:

; 8167 : 	}
; 8168 : 	if (strcmp(Preset,"CnC_Sydney") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0L@EGFPOOHM@CnC_Sydney?$AA@
	mov	ecx, 11					; 0000000bH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83864

; 8169 : 		//Commands->Send_Custom_Event(obj,obj,586,0,0);
; 8170 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_TiberiumAutoRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8171 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83864
	test	esi, esi
	je	SHORT $L83864
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83864
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83864:

; 8172 : 	}
; 8173 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BH@MBICIAPC@CnC_GDI_MiniGunner_2SF?$AA@
	mov	ecx, 23					; 00000017H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83867

; 8174 : 		//Commands->Send_Custom_Event(obj,obj,587,0,0);
; 8175 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_SniperRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8176 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83867
	test	esi, esi
	je	SHORT $L83867
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83867
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83867:

; 8177 : 	}
; 8178 : 	if (strcmp(Preset,"CnC_GDI_RocketSoldier_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BK@FPCBBKIA@CnC_GDI_RocketSoldier_2SF?$AA@
	mov	ecx, 26					; 0000001aH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83870

; 8179 : 		//Commands->Send_Custom_Event(obj,obj,588,0,0);
; 8180 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_RocketLauncher_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8181 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83870
	test	esi, esi
	je	SHORT $L83870
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83870
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83870:

; 8182 : 	}
; 8183 : 	if (strcmp(Preset,"CnC_GDI_Grenadier_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BG@MECGAGPJ@CnC_GDI_Grenadier_2SF?$AA@
	mov	ecx, 22					; 00000016H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83873

; 8184 : 		//Commands->Send_Custom_Event(obj,obj,589,0,0);
; 8185 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_TiberiumFlechetteGun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8186 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83873
	test	esi, esi
	je	SHORT $L83873
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83873
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83873:

; 8187 : 	}
; 8188 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_3Boss_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BO@PPCFPGNB@CnC_GDI_MiniGunner_3Boss_ALT2?$AA@
	mov	ecx, 30					; 0000001eH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83876

; 8189 : 		//Commands->Send_Custom_Event(obj,obj,590,0,0);
; 8190 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8191 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83876
	test	esi, esi
	je	SHORT $L83876
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83876
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83876:

; 8192 : 	}
; 8193 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_3Boss_ALT3") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BO@OGDOMHJA@CnC_GDI_MiniGunner_3Boss_ALT3?$AA@
	mov	ecx, 30					; 0000001eH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83879

; 8194 : 		//Commands->Send_Custom_Event(obj,obj,591,0,0);
; 8195 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8196 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83879
	test	esi, esi
	je	SHORT $L83879
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83879
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83879:

; 8197 : 	}
; 8198 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_3Boss_ALT4") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BO@KJHPFBFH@CnC_GDI_MiniGunner_3Boss_ALT4?$AA@
	mov	ecx, 30					; 0000001eH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83882

; 8199 : 		//Commands->Send_Custom_Event(obj,obj,592,0,0);
; 8200 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8201 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83882
	test	esi, esi
	je	SHORT $L83882
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83882
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83882:

; 8202 : 	}
; 8203 : 	if (strcmp(Preset,"CnC_GDI_MiniGunner_3Boss") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BJ@NCHBLAIC@CnC_GDI_MiniGunner_3Boss?$AA@
	mov	ecx, 25					; 00000019H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83885

; 8204 : 		//Commands->Send_Custom_Event(obj,obj,593,0,0);
; 8205 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8206 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83885
	test	esi, esi
	je	SHORT $L83885
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83885
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83885:

; 8207 : 	}
; 8208 : 	if (strcmp(Preset,"CnC_Sydney_PowerSuit_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BK@EFLLEGCI@CnC_Sydney_PowerSuit_ALT2?$AA@
	mov	ecx, 26					; 0000001aH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83888

; 8209 : 		//Commands->Send_Custom_Event(obj,obj,594,0,0);
; 8210 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_PersonalIonCannon_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8211 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83888
	test	esi, esi
	je	SHORT $L83888
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83888
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83888:

; 8212 : 	}
; 8213 : 	if (strcmp(Preset,"CnC_Sydney_PowerSuit") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BF@HCCCIBHA@CnC_Sydney_PowerSuit?$AA@
	mov	ecx, 21					; 00000015H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83891

; 8214 : 		//Commands->Send_Custom_Event(obj,obj,595,0,0);
; 8215 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_PersonalIonCannon_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8216 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83891
	test	esi, esi
	je	SHORT $L83891
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83891
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83891:

; 8217 : 	}
; 8218 : 	if (strcmp(Preset,"CnC_Ignatio_Mobius_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BI@FLDDOONJ@CnC_Ignatio_Mobius_ALT2?$AA@
	mov	ecx, 24					; 00000018H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83894

; 8219 : 		//Commands->Send_Custom_Event(obj,obj,596,0,0);
; 8220 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_VoltAutoRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8221 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83894
	test	esi, esi
	je	SHORT $L83894
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83894
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83894:

; 8222 : 	}
; 8223 : 	if (strcmp(Preset,"CnC_Ignatio_Mobius") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BD@CMAELMFM@CnC_Ignatio_Mobius?$AA@
	mov	ecx, 19					; 00000013H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83897

; 8224 : 		//Commands->Send_Custom_Event(obj,obj,597,0,0);
; 8225 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_VoltAutoRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8226 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83897
	test	esi, esi
	je	SHORT $L83897
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83897
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83897:

; 8227 : 	}
; 8228 : 	if (strcmp(Preset,"CnC_GDI_Engineer_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BF@EPNAAGKC@CnC_GDI_Engineer_2SF?$AA@
	mov	ecx, 21					; 00000015H
	xor	edx, edx
	repe cmpsb
	jne	$L83901

; 8229 : 		//Commands->Send_Custom_Event(obj,obj,598,0,0);
; 8230 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RepairGun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8231 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83900
	test	esi, esi
	je	SHORT $L83900
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83900
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83900:

; 8232 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_MineRemote_02");

	mov	edx, DWORD PTR _p$[ebp]
	mov	eax, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [ecx+4], eax
	mov	DWORD PTR [ecx+8], edx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
	mov	esi, eax

; 8233 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83901
	test	esi, esi
	je	SHORT $L83901
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83901
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+92]
	add	esp, 4
$L83901:

; 8234 : 	}
; 8235 : 		
; 8236 : 	/********************** NOD **********************/
; 8237 : 
; 8238 : 	if (strcmp(Preset,"CnC_Nod_Minigunner_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BF@OEGOFECO@CnC_Nod_Minigunner_0?$AA@
	mov	ecx, 21					; 00000015H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83904

; 8239 : 		//Commands->Send_Custom_Event(obj,obj,599,0,0);
; 8240 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_AutoRifle_Player_Nod");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8241 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83904
	test	esi, esi
	je	SHORT $L83904
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83904
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83904:

; 8242 : 	}
; 8243 : 	if (strcmp(Preset,"CnC_Nod_RocketSoldier_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BI@DMFNIKGO@CnC_Nod_RocketSoldier_0?$AA@
	mov	ecx, 24					; 00000018H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83907

; 8244 : 		//Commands->Send_Custom_Event(obj,obj,600,0,0);
; 8245 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Shotgun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8246 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83907
	test	esi, esi
	je	SHORT $L83907
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83907
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83907:

; 8247 : 	}
; 8248 : 	if (strcmp(Preset,"CnC_Nod_FlameThrower_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BH@CPEKHDKF@CnC_Nod_FlameThrower_0?$AA@
	mov	ecx, 23					; 00000017H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83910

; 8249 : 		//Commands->Send_Custom_Event(obj,obj,601,0,0);
; 8250 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Flamethrower_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8251 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83910
	test	esi, esi
	je	SHORT $L83910
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83910
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83910:

; 8252 : 	}
; 8253 : 	if (strcmp(Preset,"CnC_Nod_Engineer_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BD@DECBIKBC@CnC_Nod_Engineer_0?$AA@
	mov	ecx, 19					; 00000013H
	xor	edx, edx
	repe cmpsb
	jne	$L83914

; 8254 : 		//Commands->Send_Custom_Event(obj,obj,602,0,0);
; 8255 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RepairGun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8256 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83913
	test	esi, esi
	je	SHORT $L83913
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83913
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83913:

; 8257 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_MineRemote_02");

	mov	edx, DWORD PTR _p$[ebp]
	mov	eax, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [ecx+4], eax
	mov	DWORD PTR [ecx+8], edx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
	mov	esi, eax

; 8258 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83914
	test	esi, esi
	je	SHORT $L83914
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83914
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+92]
	add	esp, 4
$L83914:

; 8259 : 	}
; 8260 : 	if (strcmp(Preset,"CnC_Nod_Minigunner_1Off") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BI@MHOEKFGJ@CnC_Nod_Minigunner_1Off?$AA@
	mov	ecx, 24					; 00000018H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83917

; 8261 : 		//Commands->Send_Custom_Event(obj,obj,603,0,0);
; 8262 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Chaingun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8263 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83917
	test	esi, esi
	je	SHORT $L83917
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83917
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83917:

; 8264 : 	}
; 8265 : 	if (strcmp(Preset,"CnC_Nod_RocketSoldier_1Off") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BL@BHBFKBPG@CnC_Nod_RocketSoldier_1Off?$AA@
	mov	ecx, 27					; 0000001bH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83920

; 8266 : 		//Commands->Send_Custom_Event(obj,obj,604,0,0);
; 8267 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RocketLauncher_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8268 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83920
	test	esi, esi
	je	SHORT $L83920
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83920
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83920:

; 8269 : 	}
; 8270 : 	if (strcmp(Preset,"CnC_Nod_FlameThrower_1Off") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BK@MMECAHHH@CnC_Nod_FlameThrower_1Off?$AA@
	mov	ecx, 26					; 0000001aH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83923

; 8271 : 		//Commands->Send_Custom_Event(obj,obj,605,0,0);
; 8272 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_ChemSprayer_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8273 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83923
	test	esi, esi
	je	SHORT $L83923
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83923
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83923:

; 8274 : 	}
; 8275 : 	if (strcmp(Preset,"CnC_Nod_Minigunner_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BH@FNBMIEO@CnC_Nod_Minigunner_2SF?$AA@
	mov	ecx, 23					; 00000017H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83926

; 8276 : 		//Commands->Send_Custom_Event(obj,obj,606,0,0);
; 8277 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_SniperRifle_Player_Nod");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8278 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83926
	test	esi, esi
	je	SHORT $L83926
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83926
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83926:

; 8279 : 	}
; 8280 : 	if (strcmp(Preset,"CnC_Nod_RocketSoldier_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BK@JEMDKAKL@CnC_Nod_RocketSoldier_2SF?$AA@
	mov	ecx, 26					; 0000001aH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83929

; 8281 : 		//Commands->Send_Custom_Event(obj,obj,607,0,0);
; 8282 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_LaserChaingun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8283 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83929
	test	esi, esi
	je	SHORT $L83929
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83929
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83929:

; 8284 : 	}
; 8285 : 	if (strcmp(Preset,"CnC_Nod_FlameThrower_2SF") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BJ@HIKMPHIB@CnC_Nod_FlameThrower_2SF?$AA@
	mov	ecx, 25					; 00000019H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83932

; 8286 : 		//Commands->Send_Custom_Event(obj,obj,608,0,0);
; 8287 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_LaserRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8288 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83932
	test	esi, esi
	je	SHORT $L83932
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83932
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83932:

; 8289 : 	}
; 8290 : 	if (strcmp(Preset,"CnC_Nod_MiniGunner_3Boss_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BO@CACBCPHO@CnC_Nod_MiniGunner_3Boss_ALT2?$AA@
	mov	ecx, 30					; 0000001eH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83935

; 8291 : 		//Commands->Send_Custom_Event(obj,obj,609,0,0);
; 8292 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8293 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83935
	test	esi, esi
	je	SHORT $L83935
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83935
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83935:

; 8294 : 	}
; 8295 : 	if (strcmp(Preset,"CnC_Nod_Minigunner_3Boss") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BJ@OCAGFMMH@CnC_Nod_Minigunner_3Boss?$AA@
	mov	ecx, 25					; 00000019H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83938

; 8296 : 		//Commands->Send_Custom_Event(obj,obj,610,0,0);
; 8297 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RamjetRifle_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8298 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83938
	test	esi, esi
	je	SHORT $L83938
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83938
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83938:

; 8299 : 	}
; 8300 : 	if (strcmp(Preset,"CnC_Nod_RocketSoldier_3Boss_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0CB@NHIENBOK@CnC_Nod_RocketSoldier_3Boss_ALT2@
	mov	ecx, 33					; 00000021H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83941

; 8301 : 		//Commands->Send_Custom_Event(obj,obj,611,0,0);
; 8302 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Railgun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8303 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83941
	test	esi, esi
	je	SHORT $L83941
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83941
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83941:

; 8304 : 	}
; 8305 : 	if (strcmp(Preset,"CnC_Nod_RocketSoldier_3Boss") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BM@ICGGCDBG@CnC_Nod_RocketSoldier_3Boss?$AA@
	mov	ecx, 28					; 0000001cH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83944

; 8306 : 		//Commands->Send_Custom_Event(obj,obj,612,0,0);
; 8307 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_Railgun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8308 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83944
	test	esi, esi
	je	SHORT $L83944
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83944
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83944:

; 8309 : 	}
; 8310 : 	if (strcmp(Preset,"CnC_Nod_FlameThrower_3Boss_ALT2") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0CA@CKAJJBGL@CnC_Nod_FlameThrower_3Boss_ALT2?$AA@
	mov	ecx, 32					; 00000020H
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83947

; 8311 : 		//Commands->Send_Custom_Event(obj,obj,613,0,0);
; 8312 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_VoltAutoRifle_Player_Nod");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8313 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83947
	test	esi, esi
	je	SHORT $L83947
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83947
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83947:

; 8314 : 	}
; 8315 : 	if (strcmp(Preset,"CnC_Nod_FlameThrower_3Boss") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BL@BIACMHAG@CnC_Nod_FlameThrower_3Boss?$AA@
	mov	ecx, 27					; 0000001bH
	xor	edx, edx
	repe cmpsb
	jne	SHORT $L83950

; 8316 : 		//Commands->Send_Custom_Event(obj,obj,614,0,0);
; 8317 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_VoltAutoRifle_Player_Nod");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8318 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83950
	test	esi, esi
	je	SHORT $L83950
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83950
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83950:

; 8319 : 	}
; 8320 : 	if (strcmp(Preset,"CnC_Nod_Technician_0") == 0) {

	mov	esi, DWORD PTR _Preset$[ebp]
	mov	edi, OFFSET FLAT:??_C@_0BF@OCIKBOAE@CnC_Nod_Technician_0?$AA@
	mov	ecx, 21					; 00000015H
	xor	edx, edx
	repe cmpsb
	jne	$L83954

; 8321 : 		//Commands->Send_Custom_Event(obj,obj,615,0,0);
; 8322 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"POW_RepairGun_Player");

	mov	ecx, DWORD PTR _p$[ebp]
	mov	edx, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	sub	esp, 12					; 0000000cH
	mov	eax, esp
	mov	DWORD PTR [eax], ecx
	mov	ecx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [eax+4], edx
	mov	DWORD PTR [eax+8], ecx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset

; 8323 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	esi, eax
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83953
	test	esi, esi
	je	SHORT $L83953
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83953
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+92]
	add	esp, 4
$L83953:

; 8324 : 		o = Find_Closest_Object_To_Pos_By_Preset(p,"CnC_POW_MineRemote_02");

	mov	edx, DWORD PTR _p$[ebp]
	mov	eax, DWORD PTR _p$[ebp+4]
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR _p$[ebp+8]
	mov	DWORD PTR [ecx+4], eax
	mov	DWORD PTR [ecx+8], edx
	call	?Find_Closest_Object_To_Pos_By_Preset@@YAPAEUVector3@@PBD@Z ; Find_Closest_Object_To_Pos_By_Preset
	mov	esi, eax

; 8325 : 		if (As_ScriptableGameObj(o)) { Commands->Destroy_Object(o); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR _o$[ebp], esi
	call	DWORD PTR [eax+108]
	add	esp, 20					; 00000014H
	test	eax, eax
	je	SHORT $L83954
	test	esi, esi
	je	SHORT $L83954
	mov	ecx, DWORD PTR _o$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L83954
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+92]
	add	esp, 4
$L83954:

; 8326 : 	}
; 8327 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z ENDP		; Destroy_Invalids
_TEXT	ENDS
PUBLIC	?All_Weps@@YAXPAE@Z				; All_Weps
; Function compile flags: /Ogty
;	COMDAT ?All_Weps@@YAXPAE@Z
_TEXT	SEGMENT
_o$ = 8							; size = 4
?All_Weps@@YAXPAE@Z PROC NEAR				; All_Weps, COMDAT

; 8329 : 	{

	push	ebp
	mov	ebp, esp
	push	ebx

; 8330 : 	_asm {
; 8331 : 	mov ebx, 0x006CDE80;

	mov	ebx, 7134848				; 006cde80H

; 8332 : 	mov ecx, o

	mov	ecx, DWORD PTR _o$[ebp]

; 8333 : 	call ebx

	call	ebx

; 8334 : 	}
; 8335 : }

	pop	ebx
	pop	ebp
	ret	0
?All_Weps@@YAXPAE@Z ENDP				; All_Weps
_TEXT	ENDS
PUBLIC	??1?$VectorClass@PAE@@UAE@XZ			; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
;	COMDAT ??1?$VectorClass@PAE@@UAE@XZ
_TEXT	SEGMENT
??1?$VectorClass@PAE@@UAE@XZ PROC NEAR			; VectorClass<unsigned char *>::~VectorClass<unsigned char *>, COMDAT
; _this$ = ecx

; 303  : 	{

	mov	DWORD PTR [ecx], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@

; 304  : 	}

	ret	0
??1?$VectorClass@PAE@@UAE@XZ ENDP			; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
_TEXT	ENDS
PUBLIC	?Length@?$VectorClass@PAE@@QAEHXZ		; VectorClass<unsigned char *>::Length
; Function compile flags: /Ogty
;	COMDAT ?Length@?$VectorClass@PAE@@QAEHXZ
_TEXT	SEGMENT
?Length@?$VectorClass@PAE@@QAEHXZ PROC NEAR		; VectorClass<unsigned char *>::Length, COMDAT
; _this$ = ecx

; 307  : 		return VectorMax;

	mov	eax, DWORD PTR [ecx+8]

; 308  : 	}

	ret	0
?Length@?$VectorClass@PAE@@QAEHXZ ENDP			; VectorClass<unsigned char *>::Length
_TEXT	ENDS
PUBLIC	??A?$VectorClass@PAE@@QAEAAPAEH@Z		; VectorClass<unsigned char *>::operator[]
; Function compile flags: /Ogty
;	COMDAT ??A?$VectorClass@PAE@@QAEAAPAEH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$VectorClass@PAE@@QAEAAPAEH@Z PROC NEAR		; VectorClass<unsigned char *>::operator[], COMDAT
; _this$ = ecx

; 311  : 		return Vector[index];

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

; 312  : 	}

	ret	4
??A?$VectorClass@PAE@@QAEAAPAEH@Z ENDP			; VectorClass<unsigned char *>::operator[]
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@PAE@@UAE_NAAV0@@Z
_TEXT	SEGMENT
_vector$ = 8						; size = 4
??8?$VectorClass@PAE@@UAE_NAAV0@@Z PROC NEAR		; VectorClass<unsigned char *>::operator==, COMDAT
; _this$ = ecx

; 315  : 		return false;

	xor	al, al

; 316  : 	}

	ret	4
??8?$VectorClass@PAE@@UAE_NAAV0@@Z ENDP			; VectorClass<unsigned char *>::operator==
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
_array$ = 12						; size = 4
?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z PROC NEAR	; VectorClass<unsigned char *>::Resize, COMDAT
; _this$ = ecx

; 319  : 		return false;

	xor	al, al

; 320  : 	}

	ret	8
?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z ENDP		; VectorClass<unsigned char *>::Resize
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@PAE@@UAEXXZ
_TEXT	SEGMENT
?Clear@?$VectorClass@PAE@@UAEXXZ PROC NEAR		; VectorClass<unsigned char *>::Clear, COMDAT
; _this$ = ecx

; 323  : 	}

	ret	0
?Clear@?$VectorClass@PAE@@UAEXXZ ENDP			; VectorClass<unsigned char *>::Clear
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHAAPAE@Z
_TEXT	SEGMENT
_object$ = 8						; size = 4
?ID@?$VectorClass@PAE@@UAEHAAPAE@Z PROC NEAR		; VectorClass<unsigned char *>::ID, COMDAT
; _this$ = ecx

; 326  : 		return 0;

	xor	eax, eax

; 327  : 	}

	ret	4
?ID@?$VectorClass@PAE@@UAEHAAPAE@Z ENDP			; VectorClass<unsigned char *>::ID
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHPAPAE@Z
_TEXT	SEGMENT
_ptr$ = 8						; size = 4
?ID@?$VectorClass@PAE@@UAEHPAPAE@Z PROC NEAR		; VectorClass<unsigned char *>::ID, COMDAT
; _this$ = ecx

; 330  : 		return 0;

	xor	eax, eax

; 331  : 	}

	ret	4
?ID@?$VectorClass@PAE@@UAEHPAPAE@Z ENDP			; VectorClass<unsigned char *>::ID
_TEXT	ENDS
PUBLIC	?Count@?$DynamicVectorClass@PAK@@QAEHXZ		; DynamicVectorClass<unsigned long *>::Count
; Function compile flags: /Ogty
;	COMDAT ?Count@?$DynamicVectorClass@PAK@@QAEHXZ
_TEXT	SEGMENT
?Count@?$DynamicVectorClass@PAK@@QAEHXZ PROC NEAR	; DynamicVectorClass<unsigned long *>::Count, COMDAT
; _this$ = ecx

; 341  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+16]

; 342  : 	}

	ret	0
?Count@?$DynamicVectorClass@PAK@@QAEHXZ ENDP		; DynamicVectorClass<unsigned long *>::Count
_TEXT	ENDS
PUBLIC	??A?$VectorClass@PAK@@QAEAAPAKH@Z		; VectorClass<unsigned long *>::operator[]
; Function compile flags: /Ogty
;	COMDAT ??A?$VectorClass@PAK@@QAEAAPAKH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$VectorClass@PAK@@QAEAAPAKH@Z PROC NEAR		; VectorClass<unsigned long *>::operator[], COMDAT
; _this$ = ecx

; 311  : 		return Vector[index];

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

; 312  : 	}

	ret	4
??A?$VectorClass@PAK@@QAEAAPAKH@Z ENDP			; VectorClass<unsigned long *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@QAEHXZ ; SimpleDynVecClass<GameObjObserverClass *>::Count
; Function compile flags: /Ogty
;	COMDAT ?Count@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@QAEHXZ PROC NEAR ; SimpleDynVecClass<GameObjObserverClass *>::Count, COMDAT
; _this$ = ecx

; 244  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 245  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAVGameObjObserverClass@@@@QAEHXZ ENDP ; SimpleDynVecClass<GameObjObserverClass *>::Count
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAVGameObjObserverClass@@@@QAEAAPAVGameObjObserverClass@@H@Z ; SimpleVecClass<GameObjObserverClass *>::operator[]
; Function compile flags: /Ogty
;	COMDAT ??A?$SimpleVecClass@PAVGameObjObserverClass@@@@QAEAAPAVGameObjObserverClass@@H@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAVGameObjObserverClass@@@@QAEAAPAVGameObjObserverClass@@H@Z PROC NEAR ; SimpleVecClass<GameObjObserverClass *>::operator[], COMDAT
; _this$ = ecx

; 170  : 		return Vector[index];

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

; 171  : 	}

	ret	4
??A?$SimpleVecClass@PAVGameObjObserverClass@@@@QAEAAPAVGameObjObserverClass@@H@Z ENDP ; SimpleVecClass<GameObjObserverClass *>::operator[]
_TEXT	ENDS
PUBLIC	?Count@?$SimpleDynVecClass@PAE@@QAEHXZ		; SimpleDynVecClass<unsigned char *>::Count
; Function compile flags: /Ogty
;	COMDAT ?Count@?$SimpleDynVecClass@PAE@@QAEHXZ
_TEXT	SEGMENT
?Count@?$SimpleDynVecClass@PAE@@QAEHXZ PROC NEAR	; SimpleDynVecClass<unsigned char *>::Count, COMDAT
; _this$ = ecx

; 244  : 		return ActiveCount;

	mov	eax, DWORD PTR [ecx+12]

; 245  : 	}

	ret	0
?Count@?$SimpleDynVecClass@PAE@@QAEHXZ ENDP		; SimpleDynVecClass<unsigned char *>::Count
_TEXT	ENDS
PUBLIC	?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z	; SimpleDynVecClass<unsigned char *>::Add
; Function compile flags: /Ogty
;	COMDAT ?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z PROC NEAR	; SimpleDynVecClass<unsigned char *>::Add, COMDAT
; _this$ = ecx

; 267  : 	{

	push	ebx
	push	esi
	mov	esi, ecx
	push	edi

; 268  : 		for (int i = 0;i < VectorMax;i++)

	mov	edi, DWORD PTR [esi+8]
	xor	eax, eax
	test	edi, edi
	jle	SHORT $L84119
	mov	edx, DWORD PTR [esi+4]
	mov	ecx, edx
$L84117:

; 269  : 		{
; 270  : 			if (!Vector[i])

	cmp	DWORD PTR [ecx], 0
	je	SHORT $L88973
	mov	ebx, DWORD PTR [esi+8]
	inc	eax
	add	ecx, 4
	cmp	eax, ebx
	jl	SHORT $L84117
$L84119:

; 274  : 				return i;
; 275  : 			}
; 276  : 		}
; 277  : 		Resize(VectorMax+1);

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

; 278  : 		Vector[VectorMax-1] = data;

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

; 279  : 		ActiveCount++;

	mov	edx, DWORD PTR [esi+12]

; 280  : 		return VectorMax-1;

	mov	eax, DWORD PTR [esi+8]
	inc	edx
	pop	edi
	mov	DWORD PTR [esi+12], edx
	pop	esi
	dec	eax
	pop	ebx

; 281  : 	}

	ret	4
$L88973:

; 271  : 			{
; 272  : 				Vector[i] = data;

	mov	ecx, DWORD PTR _data$[esp+8]
	mov	ecx, DWORD PTR [ecx]
	mov	DWORD PTR [edx+eax*4], ecx

; 273  : 				ActiveCount++;

	mov	ecx, DWORD PTR [esi+12]
	inc	ecx
	pop	edi
	mov	DWORD PTR [esi+12], ecx
	pop	esi
	pop	ebx

; 281  : 	}

	ret	4
?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z ENDP		; SimpleDynVecClass<unsigned char *>::Add
_TEXT	ENDS
PUBLIC	??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z		; SimpleVecClass<unsigned char *>::operator[]
; Function compile flags: /Ogty
;	COMDAT ??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z
_TEXT	SEGMENT
_index$ = 8						; size = 4
??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z PROC NEAR		; SimpleVecClass<unsigned char *>::operator[], COMDAT
; _this$ = ecx

; 170  : 		return Vector[index];

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

; 171  : 	}

	ret	4
??A?$SimpleVecClass@PAE@@QAEAAPAEH@Z ENDP		; SimpleVecClass<unsigned char *>::operator[]
_TEXT	ENDS
PUBLIC	?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z ; SimpleVecClass<unsigned char *>::Uninitialised_Grow
PUBLIC	??1?$SimpleVecClass@PAE@@UAE@XZ			; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
PUBLIC	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z		; SimpleVecClass<unsigned char *>::Resize
PUBLIC	??_7?$SimpleVecClass@PAE@@6B@			; SimpleVecClass<unsigned char *>::`vftable'
PUBLIC	??_G?$SimpleVecClass@PAE@@UAEPAXI@Z		; SimpleVecClass<unsigned char *>::`scalar deleting destructor'
EXTRN	??_E?$SimpleVecClass@PAE@@UAEPAXI@Z:NEAR	; SimpleVecClass<unsigned char *>::`vector deleting destructor'
;	COMDAT ??_7?$SimpleVecClass@PAE@@6B@
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
CONST	SEGMENT
??_7?$SimpleVecClass@PAE@@6B@ DD FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z ; SimpleVecClass<unsigned char *>::`vftable'
	DD	FLAT:??_E?$SimpleVecClass@PAE@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
CONST	ENDS
;	COMDAT ??1?$SimpleVecClass@PAE@@UAE@XZ
_TEXT	SEGMENT
??1?$SimpleVecClass@PAE@@UAE@XZ PROC NEAR		; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 173  : 	{

	push	esi
	mov	esi, ecx

; 174  : 		if (Vector)

	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	je	SHORT $L84131

; 175  : 		{
; 176  : 			delete Vector;

	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4

; 177  : 			Vector = 0;

	mov	DWORD PTR [esi+4], 0

; 178  : 			VectorMax = 0;

	mov	DWORD PTR [esi+8], 0
$L84131:
	pop	esi

; 179  : 		}
; 180  : 	}

	ret	0
??1?$SimpleVecClass@PAE@@UAE@XZ ENDP			; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z PROC NEAR ; SimpleVecClass<unsigned char *>::Uninitialised_Grow, COMDAT
; _this$ = ecx

; 149  : 	{

	push	esi
	push	edi

; 150  : 		if ((newsize > 0) && (newsize > VectorMax))

	mov	edi, DWORD PTR _newsize$[esp+4]
	test	edi, edi
	mov	esi, ecx
	jle	SHORT $L88999
	cmp	edi, DWORD PTR [esi+8]
	jle	SHORT $L88999

; 151  : 		{
; 152  : 			delete Vector;

	mov	eax, DWORD PTR [esi+4]
	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete

; 153  : 			Vector = new T[newsize*4];

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	test	eax, eax
	jne	SHORT $L88995
	call	_Init
$L88995:
	mov	ecx, edi
	shl	ecx, 4
	push	ecx
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 4
	mov	DWORD PTR [esi+4], eax

; 154  : 			VectorMax = newsize;

	mov	DWORD PTR [esi+8], edi
$L88999:
	pop	edi

; 155  : 		}
; 156  : 		return true;

	mov	al, 1
	pop	esi

; 157  : 	}

	ret	4
?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z ENDP	; SimpleVecClass<unsigned char *>::Uninitialised_Grow
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
_vec$ = 8						; size = 4
_newsize$ = 8						; size = 4
?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z PROC NEAR	; SimpleVecClass<unsigned char *>::Resize, COMDAT
; _this$ = ecx

; 182  : 	{

	push	ebx
	mov	ebx, ecx

; 183  : 		T *vec;
; 184  : 		if (VectorMax == newsize)

	mov	eax, DWORD PTR [ebx+8]
	push	ebp
	mov	ebp, DWORD PTR _newsize$[esp+4]
	cmp	eax, ebp

; 185  : 		{
; 186  : 			return true;

	je	SHORT $L89017
	push	edi

; 187  : 		}
; 188  : 		if (newsize > 0)

	xor	edi, edi
	cmp	ebp, edi
	jle	SHORT $L84137

; 189  : 		{
; 190  : 			vec = new T[newsize*4];

	cmp	DWORD PTR ?RenVecNew@@3P6APAXK@ZA, edi	; RenVecNew
	jne	SHORT $L89008
	call	_Init
$L89008:
	mov	eax, ebp
	shl	eax, 4
	push	esi
	push	eax
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew

; 191  : 			if (Vector)

	mov	esi, DWORD PTR [ebx+4]
	add	esp, 4
	cmp	esi, edi
	mov	DWORD PTR _vec$[esp+12], eax
	je	SHORT $L84140

; 192  : 			{
; 193  : 				int count;
; 194  : 				count = VectorMax;

	mov	ecx, DWORD PTR [ebx+8]

; 195  : 				if (newsize < count)

	cmp	ebp, ecx
	jge	SHORT $L84142

; 196  : 				{
; 197  : 					count = newsize;

	mov	ecx, ebp
$L84142:

; 198  : 				}
; 199  : 				memcpy(vec,Vector,count*4);

	mov	edi, eax
	rep movsd

; 200  : 				delete Vector;

	mov	ecx, DWORD PTR [ebx+4]
	push	ecx
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete

; 201  : 				Vector = 0;

	mov	eax, DWORD PTR _vec$[esp+16]
	add	esp, 4
	mov	DWORD PTR [ebx+4], 0
$L84140:
	pop	esi
	pop	edi

; 202  : 			}
; 203  : 			Vector = vec;
; 204  : 			VectorMax = newsize;

	mov	DWORD PTR [ebx+8], ebp
	mov	DWORD PTR [ebx+4], eax
	pop	ebp

; 213  : 			}
; 214  : 		}
; 215  : 		return true;

	mov	al, 1
	pop	ebx

; 216  : 	}

	ret	4
$L84137:

; 205  : 		}
; 206  : 		else
; 207  : 		{
; 208  : 			VectorMax = 0;
; 209  : 			if (Vector)

	mov	eax, DWORD PTR [ebx+4]
	cmp	eax, edi
	mov	DWORD PTR [ebx+8], edi
	je	SHORT $L84145

; 210  : 			{
; 211  : 				delete Vector;

	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4

; 212  : 				Vector = 0;

	mov	DWORD PTR [ebx+4], edi
$L84145:
	pop	edi
$L89017:
	pop	ebp

; 213  : 			}
; 214  : 		}
; 215  : 		return true;

	mov	al, 1
	pop	ebx

; 216  : 	}

	ret	4
?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z ENDP		; SimpleVecClass<unsigned char *>::Resize
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$SimpleVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleVecClass@PAE@@UAEPAXI@Z PROC NEAR		; SimpleVecClass<unsigned char *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	mov	eax, DWORD PTR [esi+4]
	test	eax, eax
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	je	SHORT $L89027
	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
$L89027:
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L89035
	push	esi
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
$L89035:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleVecClass@PAE@@UAEPAXI@Z ENDP		; SimpleVecClass<unsigned char *>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@PAE@@QAE@I@Z		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
; Function compile flags: /Ogty
;	COMDAT ??0?$SimpleVecClass@PAE@@QAE@I@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleVecClass@PAE@@QAE@I@Z PROC NEAR		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 140  : 	{
; 141  : 		Vector = 0;
; 142  : 		VectorMax = 0;
; 143  : 		if (size > 0)

	mov	eax, DWORD PTR _size$[esp-4]
	push	esi
	mov	esi, ecx
	xor	ecx, ecx
	cmp	eax, ecx
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	mov	DWORD PTR [esi+4], ecx
	mov	DWORD PTR [esi+8], ecx
	jbe	SHORT $L89039

; 144  : 		{
; 145  : 			Resize(size);

	push	eax
	mov	ecx, esi
	call	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::Resize
$L89039:

; 146  : 		}
; 147  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleVecClass@PAE@@QAE@I@Z ENDP			; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
; Function compile flags: /Ogty
;	COMDAT ??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT
_cl$ = 8						; size = 4
??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z PROC NEAR		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 158  : 	SimpleVecClass(const SimpleVecClass<T> &cl)

	push	ebx
	push	esi

; 159  : 	{
; 160  : 		VectorMax = cl.VectorMax;

	mov	esi, DWORD PTR _cl$[esp+4]
	mov	ebx, ecx
	mov	DWORD PTR [ebx], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	mov	eax, DWORD PTR [esi+8]
	mov	DWORD PTR [ebx+8], eax

; 161  : 		Vector = new T[VectorMax*4];

	shl	eax, 4
	push	edi
	mov	edi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	test	eax, eax
	jne	SHORT $L89046
	call	_Init
$L89046:
	push	edi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew

; 162  : 		memcpy(Vector,cl.Vector,VectorMax*4);

	mov	ecx, DWORD PTR [ebx+8]
	shl	ecx, 2
	mov	DWORD PTR [ebx+4], eax
	mov	esi, DWORD PTR [esi+4]
	mov	edi, eax
	mov	eax, ecx
	shr	ecx, 2
	rep movsd
	mov	ecx, eax
	add	esp, 4
	and	ecx, 3
	rep movsb
	pop	edi
	pop	esi

; 163  : 	}

	mov	eax, ebx
	pop	ebx
	ret	4
??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z ENDP		; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	?Change_Character@@YA_NPAEPBD@Z			; Change_Character
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
;	COMDAT ?Change_Character@@YA_NPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_Preset_Name$ = 12					; size = 4
?Change_Character@@YA_NPAEPBD@Z PROC NEAR		; Change_Character, COMDAT

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	esi, DWORD PTR _obj$[esp]
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79752
	test	esi, esi
	je	SHORT $L79752
	push	esi
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4
	test	eax, eax
	jne	SHORT $L79752

; 1412 : 	}
; 1413 : 	DefinitionClass *def = Find_Named_Definition(Preset_Name);

	mov	ecx, DWORD PTR _Preset_Name$[esp]
	push	edi
	push	1
	push	ecx
	call	DWORD PTR ?FindNamedDef@@3P6APAVDefinitionClass@@PBD_N@ZA ; FindNamedDef
	mov	edi, eax
	add	esp, 8

; 1414 : 	if (!def)

	test	edi, edi
	jne	SHORT $L79754
$L89057:
	pop	edi

; 1415 : 	{
; 1416 : 		return false;

	xor	al, al
	pop	esi

; 1430 : }

	ret	0
$L79754:

; 1417 : 	}
; 1418 : 	if (def->Get_Class_ID() != 0x3001)

	mov	edx, DWORD PTR [edi]
	mov	ecx, edi
	call	DWORD PTR [edx+32]
	cmp	eax, 12289				; 00003001H

; 1419 : 	{
; 1420 : 		return false;

	jne	SHORT $L89057

; 1421 : 	}
; 1422 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 1423 : 	if (!o)

	test	esi, esi

; 1424 : 	{
; 1425 : 		return false;

	je	SHORT $L89057

; 1426 : 	}
; 1427 : 	Soldier_Re_Init(o,def);

	push	edi
	push	esi
	call	?Soldier_Re_Init@@YAXPAEPAVDefinitionClass@@@Z ; Soldier_Re_Init

; 1428 : 	Post_Re_Init(o);

	push	esi
	call	?Post_Re_Init@@YAXPAE@Z			; Post_Re_Init
	add	esp, 12					; 0000000cH
	pop	edi

; 1429 : 	return true;

	mov	al, 1
	pop	esi

; 1430 : }

	ret	0
$L79752:

; 1410 : 	{
; 1411 : 		return false;

	xor	al, al
	pop	esi

; 1430 : }

	ret	0
?Change_Character@@YA_NPAEPBD@Z ENDP			; Change_Character
_TEXT	ENDS
PUBLIC	?Get_Player_Name@@YAPBDPAE@Z			; Get_Player_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_Player_Name@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Player_Name@@YAPBDPAE@Z PROC NEAR			; Get_Player_Name, COMDAT

; 1441 : {

	push	ebp
	mov	ebp, esp

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

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

; 1445 : 	}
; 1446 : 	GameObject *o = As_SoldierGameObj(obj);

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

; 1447 : 	char *c = (char *)o;
; 1448 : 	if (!o)

	test	eax, eax

; 1449 : 	{
; 1450 : 		return newstr("None");

	je	SHORT $L89082

; 1451 : 	}
; 1452 : 	c += 0x960;
; 1453 : 	char *x = (char *)*(unsigned int *)c;

	mov	eax, DWORD PTR [eax+2400]

; 1454 : 	if (!x)

	test	eax, eax
	jne	SHORT $L79778
$L89082:

; 1455 : 	{
; 1456 : 		return newstr("None");

	push	OFFSET FLAT:??_C@_04OHJIHAFH@None?$AA@
	call	?newstr@@YAPADPBD@Z			; newstr
	add	esp, 4

; 1464 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79778:

; 1457 : 	}
; 1458 : #ifdef RH8
; 1459 : 	x += 0x754;
; 1460 : #else
; 1461 : 	x += 0x758;
; 1462 : #endif
; 1463 : 	return WideCharToChar((const wchar_t *)*(unsigned int *)x);

	mov	edx, DWORD PTR [eax+1880]
	push	edx
	call	?WideCharToChar@@YAPBDPB_W@Z		; WideCharToChar
	add	esp, 4

; 1464 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L79769:

; 1443 : 	{
; 1444 : 		return newstr("None");

	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	test	eax, eax
	jne	SHORT $L89074
	call	_Init
$L89074:
	push	5
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	mov	edx, DWORD PTR ??_C@_04OHJIHAFH@None?$AA@
	mov	ecx, eax
	add	esp, 4
	mov	DWORD PTR [ecx], edx
	mov	dl, BYTE PTR ??_C@_04OHJIHAFH@None?$AA@+4

; 1464 : }

	pop	esi
	mov	BYTE PTR [ecx+4], dl
	pop	ebx
	pop	ebp
	ret	0
?Get_Player_Name@@YAPBDPAE@Z ENDP			; Get_Player_Name
_TEXT	ENDS
PUBLIC	?Change_Team_By_ID@@YAXHH@Z			; Change_Team_By_ID
; Function compile flags: /Ogty
;	COMDAT ?Change_Team_By_ID@@YAXHH@Z
_TEXT	SEGMENT
_x$ = -4						; size = 4
_PlayerID$ = 8						; size = 4
_Team$ = 12						; size = 4
?Change_Team_By_ID@@YAXHH@Z PROC NEAR			; Change_Team_By_ID, COMDAT

; 1482 : {

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

; 1483 : 	unsigned char *x = FindPlayer(PlayerID);

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

; 1484 : 	if (!x)

	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	je	SHORT $L79791

; 1485 : 	{
; 1486 : 		return;
; 1487 : 	}
; 1488 : #ifdef WIN32
; 1489 : 	_asm {
; 1490 : 		mov ebx,SetPlayerType

	mov	ebx, DWORD PTR ?SetPlayerType@@3P6AXPAEH@ZA ; SetPlayerType

; 1491 : 		mov ecx,x

	mov	ecx, DWORD PTR _x$[ebp]

; 1492 : 		push Team

	push	DWORD PTR _Team$[ebp]

; 1493 : 		call ebx

	call	ebx

; 1494 : 	}
; 1495 : #else
; 1496 : 	SetPlayerType(x,Team);
; 1497 : #endif
; 1498 : 	GameObject *obj = Get_GameObj(PlayerID);

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

; 1499 : 	Commands->Destroy_Object(obj);

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

; 1500 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0

; 1494 : 	}
; 1495 : #else
; 1496 : 	SetPlayerType(x,Team);
; 1497 : #endif
; 1498 : 	GameObject *obj = Get_GameObj(PlayerID);

$L89089:
	xor	eax, eax

; 1499 : 	Commands->Destroy_Object(obj);

	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [eax+92]
	add	esp, 4
$L79791:

; 1500 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Change_Team_By_ID@@YAXHH@Z ENDP			; Change_Team_By_ID
_TEXT	ENDS
PUBLIC	?Repair_All_Static_Vehicles_By_Team@@YAXHH@Z	; Repair_All_Static_Vehicles_By_Team
; Function compile flags: /Ogty
;	COMDAT ?Repair_All_Static_Vehicles_By_Team@@YAXHH@Z
_TEXT	SEGMENT
$T89103 = -4						; size = 4
_o$79968 = -4						; size = 4
_Team$ = 8						; size = 4
_Message$ = 12						; size = 4
?Repair_All_Static_Vehicles_By_Team@@YAXHH@Z PROC NEAR	; Repair_All_Static_Vehicles_By_Team, COMDAT

; 1704 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 1705 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 1706 : 	while (x)

	test	edi, edi
	je	$L79967
	npad	9
$L79966:

; 1707 : 	{
; 1708 : 		GameObject *o = As_VehicleGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T89103[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L79971
	test	esi, esi
	je	$L79971
	mov	ecx, DWORD PTR $T89103[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	mov	esi, eax

; 1709 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$79968[ebp], esi
	je	$L79971

; 1710 : 		{
; 1711 : 			if (Get_Object_Type(o) == Team && Is_DecorationPhys(o))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89117
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89117
	mov	ecx, DWORD PTR _o$79968[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L89117
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L89115
$L89117:
	xor	eax, eax
$L89115:
	cmp	eax, DWORD PTR _Team$[ebp]
	jne	SHORT $L79971
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79971
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L79971
	mov	ecx, DWORD PTR _o$79968[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	je	SHORT $L79971
	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]
	cmp	eax, 36864				; 00009000H
	jne	SHORT $L79971

; 1712 : 			{
; 1713 : 				Commands->Send_Custom_Event(o,o,Message,0,0);

	mov	eax, DWORD PTR _Message$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	eax
	push	esi
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L79971:

; 1714 : 			}
; 1715 : 		}
; 1716 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L79966
$L79967:

; 1717 : 	}
; 1718 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Repair_All_Static_Vehicles_By_Team@@YAXHH@Z ENDP	; Repair_All_Static_Vehicles_By_Team
_TEXT	ENDS
PUBLIC	?Disarm_Nearest_Beacon@@YAXPAEH_N@Z		; Disarm_Nearest_Beacon
PUBLIC	??_C@_0BB@NHJNEILC@Invisible_Object?$AA@	; `string'
;	COMDAT ??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
CONST	SEGMENT
??_C@_0BB@NHJNEILC@Invisible_Object?$AA@ DB 'Invisible_Object', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Disarm_Nearest_Beacon@@YAXPAEH_N@Z
_TEXT	SEGMENT
_NearestDistanceFound$ = -64				; size = 4
_HostPos$ = -60						; size = 12
_BeaconPos$80733 = -48					; size = 12
_BeaconPos$80740 = -36					; size = 12
$T89151 = -36						; size = 12
$T89153 = -24						; size = 12
$T89155 = -12						; size = 12
_Host$ = 8						; size = 4
_Team$ = 12						; size = 4
_Nearest$ = 16						; size = 1
?Disarm_Nearest_Beacon@@YAXPAEH_N@Z PROC NEAR		; Disarm_Nearest_Beacon, COMDAT

; 3380 : 	if (!Commands->Get_ID(Host) || !Host)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	sub	esp, 64					; 00000040H
	push	esi
	mov	esi, DWORD PTR _Host$[esp+64]
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L80744
	test	esi, esi
	je	$L80744

; 3381 : 	{
; 3382 : 		return;
; 3383 : 	}
; 3384 : 	Vector3 HostPos = Commands->Get_Position(Host);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	ebp
	push	edi
	lea	ecx, DWORD PTR $T89151[esp+80]
	push	esi
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _HostPos$[esp+88], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _HostPos$[esp+92], edx
	mov	eax, DWORD PTR [eax+8]

; 3385 : 	HostPos.Z = 0;
; 3386 : 	float NearestDistanceFound = 5000.0f;
; 3387 : 	GameObject *ClosestBeacon = Commands->Create_Object("Invisible_Object",HostPos);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _HostPos$[esp+88]
	push	ecx
	mov	DWORD PTR _HostPos$[esp+100], eax
	push	OFFSET FLAT:??_C@_0BB@NHJNEILC@Invisible_Object?$AA@
	mov	DWORD PTR _HostPos$[esp+104], 0
	mov	DWORD PTR _NearestDistanceFound$[esp+96], 1167867904 ; 459c4000H
	call	DWORD PTR [edx+100]

; 3388 : 	GenericSLNode *x = BaseGameObjList->HeadNode;
; 3389 : 	while (x)

	mov	bl, BYTE PTR _Nearest$[esp+92]
	mov	ebp, eax
	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	mov	edi, DWORD PTR [eax+4]
	add	esp, 16					; 00000010H
	test	edi, edi
	je	$L89161
	npad	10
$L80726:

; 3390 : 	{
; 3391 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 3392 : 		if (o && As_BeaconGameObj(o))

	test	esi, esi
	je	$L89160
	push	esi
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	je	$L89160

; 3393 : 		{
; 3394 : 			if (Team == 2)

	cmp	DWORD PTR _Team$[esp+76], 2

; 3397 : 				{
; 3398 : 					Vector3 BeaconPos = Commands->Get_Position(o);

	push	esi
	jne	SHORT $L80731

; 3395 : 			{
; 3396 : 				if (Nearest)

	test	bl, bl
	je	$L80732

; 3397 : 				{
; 3398 : 					Vector3 BeaconPos = Commands->Get_Position(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T89153[esp+84]
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _BeaconPos$80733[esp+88], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _BeaconPos$80733[esp+92], edx
	mov	eax, DWORD PTR [eax+8]

; 3399 : 					BeaconPos.Z = 0;
; 3400 : 					if (Commands->Get_Distance(BeaconPos,HostPos) < NearestDistanceFound)

	lea	ecx, DWORD PTR _HostPos$[esp+88]
	mov	DWORD PTR _BeaconPos$80733[esp+96], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	lea	edx, DWORD PTR _BeaconPos$80733[esp+92]
	push	edx
	mov	DWORD PTR _BeaconPos$80733[esp+104], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _NearestDistanceFound$[esp+96]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	$L89160

; 3401 : 					{
; 3402 : 						NearestDistanceFound = Commands->Get_Distance(BeaconPos,HostPos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _HostPos$[esp+80]
	push	ecx
	lea	edx, DWORD PTR _BeaconPos$80733[esp+84]
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _NearestDistanceFound$[esp+88]
	add	esp, 8

; 3403 : 						ClosestBeacon = o;

	mov	ebp, esi

; 3404 : 					}
; 3405 : 				}
; 3406 : 				else

	jmp	$L89160
$L80731:

; 3407 : 				{
; 3408 : 					Disarm_Beacon(o);
; 3409 : 				}
; 3410 : 			}
; 3411 : 			else if (Get_Object_Type(o) == Team)

	call	?Get_Object_Type@@YAHPAE@Z		; Get_Object_Type
	mov	ecx, DWORD PTR _Team$[esp+80]
	add	esp, 4
	cmp	eax, ecx
	jne	$L89160

; 3412 : 			{
; 3413 : 				if (Nearest)

	test	bl, bl

; 3414 : 				{
; 3415 : 					Vector3 BeaconPos = Commands->Get_Position(o);

	push	esi
	je	SHORT $L80732
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T89155[esp+84]
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _BeaconPos$80740[esp+88], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _BeaconPos$80740[esp+92], edx
	mov	eax, DWORD PTR [eax+8]

; 3416 : 					BeaconPos.Z = 0;
; 3417 : 					if (Commands->Get_Distance(BeaconPos,HostPos) < NearestDistanceFound)

	lea	ecx, DWORD PTR _HostPos$[esp+88]
	mov	DWORD PTR _BeaconPos$80740[esp+96], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	lea	edx, DWORD PTR _BeaconPos$80740[esp+92]
	push	edx
	mov	DWORD PTR _BeaconPos$80740[esp+104], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _NearestDistanceFound$[esp+96]
	add	esp, 16					; 00000010H
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L89160

; 3418 : 					{
; 3419 : 						NearestDistanceFound = Commands->Get_Distance(BeaconPos,HostPos);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _HostPos$[esp+80]
	push	ecx
	lea	edx, DWORD PTR _BeaconPos$80740[esp+84]
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _NearestDistanceFound$[esp+88]
	add	esp, 8

; 3420 : 						ClosestBeacon = o;

	mov	ebp, esi

; 3421 : 					}
; 3422 : 				}
; 3423 : 				else 

	jmp	SHORT $L89160
$L80732:

; 3424 : 				{
; 3425 : 					Disarm_Beacon(o);

	call	?Disarm_Beacon@@YAXPAE@Z		; Disarm_Beacon
	add	esp, 4
$L89160:

; 3426 : 				}
; 3427 : 			}
; 3428 : 		}
; 3429 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L80726
$L89161:

; 3430 : 	}
; 3431 : 	if (Nearest && ClosestBeacon && As_BeaconGameObj(ClosestBeacon))

	test	bl, bl
	je	SHORT $L89162
	test	ebp, ebp
	je	SHORT $L89162
	push	ebp
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L89162

; 3432 : 	{
; 3433 : 		Disarm_Beacon(ClosestBeacon);

	push	ebp
	call	?Disarm_Beacon@@YAXPAE@Z		; Disarm_Beacon
	add	esp, 4
$L89162:
	pop	edi
	pop	ebp
	pop	ebx
$L80744:
	pop	esi

; 3434 : 	}
; 3435 : }

	add	esp, 64					; 00000040H
	ret	0
?Disarm_Nearest_Beacon@@YAXPAEH_N@Z ENDP		; Disarm_Nearest_Beacon
_TEXT	ENDS
PUBLIC	?Change_Player_Team@@YA_NPAE_N11@Z		; Change_Player_Team
PUBLIC	??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@ ; `string'
;	COMDAT ??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@
CONST	SEGMENT
??_C@_0BG@HDNGLABG@msg?5?$CFs?5switched?5teams?$AA@ DB 'msg %s switched t'
	DB	'eams', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Change_Player_Team@@YA_NPAE_N11@Z
_TEXT	SEGMENT
_Score$ = -112						; size = 4
_Credits$ = -108					; size = 4
tv208 = -104						; size = 4
_outputmsg$80765 = -100					; size = 100
_obj$ = 8						; size = 4
_Retain_Score$ = 12					; size = 1
_Retain_Money$ = 16					; size = 1
_Show_Host_Message$ = 20				; size = 1
?Change_Player_Team@@YA_NPAE_N11@Z PROC NEAR		; Change_Player_Team, COMDAT

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

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

; 3442 : 	}
; 3443 : 	if (!Commands->Is_A_Star(obj))

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

; 3444 : 	{
; 3445 : 		return false;

	je	$L80752
	push	ebx
	push	edi

; 3446 : 	}
; 3447 : 	Disarm_All_C4(Get_Player_ID(obj));

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

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

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

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

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

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

	fld	DWORD PTR _Score$[esp+140]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fmul	DWORD PTR __real@bf800000
	push	0
	fstp	DWORD PTR tv208[esp+144]
	mov	ebx, DWORD PTR tv208[esp+144]
	push	ebx
	push	esi
	call	DWORD PTR [ecx+636]

; 3451 : 	if (Score < 0)

	fld	DWORD PTR _Score$[esp+152]
	fcomp	DWORD PTR __real@00000000
	mov	edi, DWORD PTR _Score$[esp+152]
	add	esp, 28					; 0000001cH
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L80756

; 3452 : 	{
; 3453 : 		Commands->Give_Money(obj,Score,false);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	push	esi
	call	DWORD PTR [edx+644]
	add	esp, 12					; 0000000cH
$L80756:

; 3454 : 	}
; 3455 : 	Commands->Give_Money(obj,(Credits*-1),false);

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

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

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

; 3457 : 	{
; 3458 : 		Change_Team(obj,1);

	push	1

; 3459 : 	}
; 3460 : 	else if (Commands->Get_Player_Type(obj) == 1)

	jmp	SHORT $L89170
$L80757:
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+248]
	add	esp, 4
	cmp	eax, 1
	jne	SHORT $L80759

; 3461 : 	{
; 3462 : 		Change_Team(obj,0);

	push	0
$L89170:
	push	esi
	call	?Change_Team@@YAXPAEH@Z			; Change_Team
	add	esp, 8
$L80759:

; 3463 : 	}
; 3464 : 	if (Retain_Score)

	mov	al, BYTE PTR _Retain_Score$[esp+120]
	test	al, al
	je	SHORT $L80761

; 3465 : 	{
; 3466 : 		Commands->Give_Points(obj,Score,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	push	esi
	call	DWORD PTR [eax+636]

; 3467 : 		if (Score > 0)

	fld	DWORD PTR _Score$[esp+136]
	fcomp	DWORD PTR __real@00000000
	add	esp, 12					; 0000000cH
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L80761

; 3468 : 		{
; 3469 : 			Commands->Give_Money(obj,(Score*-1),false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	push	esi
	call	DWORD PTR [ecx+644]
	add	esp, 12					; 0000000cH
$L80761:

; 3470 : 		}
; 3471 : 	}
; 3472 : 	if (Retain_Money)

	mov	al, BYTE PTR _Retain_Money$[esp+120]
	test	al, al
	pop	edi
	pop	ebx
	je	SHORT $L80762

; 3473 : 	{
; 3474 : 		Commands->Give_Money(obj,Credits,false);

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

; 3483 : 	}
; 3484 : 	return true;

	mov	al, 1
	pop	esi

; 3485 : }

	add	esp, 112				; 00000070H
	ret	0
$L80762:

; 3475 : 	}
; 3476 : 	else if (Show_Host_Message)

	mov	al, BYTE PTR _Show_Host_Message$[esp+112]
	test	al, al
	je	SHORT $L80764

; 3477 : 	{
; 3478 : 		char outputmsg[100];
; 3479 : 		const char *name = Get_Player_Name(obj);

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

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

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

; 3481 : 		delete name;

	push	esi
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete

; 3482 : 		Console_Input(outputmsg);

	lea	edx, DWORD PTR _outputmsg$80765[esp+136]
	push	edx
	call	?Console_Input@@YAXPBD@Z		; Console_Input
	add	esp, 24					; 00000018H
$L80764:

; 3483 : 	}
; 3484 : 	return true;

	mov	al, 1
	pop	esi

; 3485 : }

	add	esp, 112				; 00000070H
	ret	0
$L80752:

; 3440 : 	{
; 3441 : 		return false;

	xor	al, al
	pop	esi

; 3485 : }

	add	esp, 112				; 00000070H
	ret	0
?Change_Player_Team@@YA_NPAE_N11@Z ENDP			; Change_Player_Team
_TEXT	ENDS
PUBLIC	?Can_Team_Build_Vehicle@@YA_NH@Z		; Can_Team_Build_Vehicle
; Function compile flags: /Ogty
;	COMDAT ?Can_Team_Build_Vehicle@@YA_NH@Z
_TEXT	SEGMENT
_factory$ = -8						; size = 4
_IsAvail$80963 = -1					; size = 1
_Team$ = 8						; size = 4
?Can_Team_Build_Vehicle@@YA_NH@Z PROC NEAR		; Can_Team_Build_Vehicle, COMDAT

; 3726 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8
	push	ebx
	push	esi

; 3727 : 	if (Is_Currently_Building(Team))

	mov	esi, DWORD PTR _Team$[ebp]
	push	esi
	call	DWORD PTR ?Is_Currently_Building@@3P6A_NH@ZA ; Is_Currently_Building
	add	esp, 4
	test	al, al
	je	SHORT $L80960

; 3728 : 	{
; 3729 : 		return false;

	xor	al, al

; 3746 : 	}
; 3747 : 	return true;
; 3748 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80960:

; 3730 : 	}
; 3731 : 	GameObject *factory = Find_Vehicle_Factory(Team);

	push	53254					; 0000d006H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
	test	eax, eax
	jne	SHORT $L89189
	push	53255					; 0000d007H
	push	esi
	call	?Find_Building_By_Class_ID@@YAPAEHK@Z	; Find_Building_By_Class_ID
	add	esp, 8
$L89189:

; 3732 : 	if (factory && !Is_Building_Dead(factory))

	test	eax, eax
	mov	DWORD PTR _factory$[ebp], eax
	je	SHORT $L80962
	push	eax
	call	?Is_Building_Dead@@YA_NPAE@Z		; Is_Building_Dead
	add	esp, 4
	test	al, al
	jne	SHORT $L80962

; 3733 : 	{
; 3734 : 		bool IsAvail;
; 3735 : #ifdef WIN32
; 3736 : 		_asm {
; 3737 : 			mov ecx,factory

	mov	ecx, DWORD PTR _factory$[ebp]

; 3738 : 			mov ebx,Is_Available_For_Purchase

	mov	ebx, DWORD PTR ?Is_Available_For_Purchase@@3P6A_NXZA ; Is_Available_For_Purchase

; 3739 : 			call ebx

	call	ebx

; 3740 : 			mov IsAvail,al;

	mov	BYTE PTR _IsAvail$80963[ebp], al

; 3741 : 		}
; 3742 : #else
; 3743 : 		IsAvail = Is_Available_For_Purchase(factory);
; 3744 : #endif
; 3745 : 		return IsAvail;

	mov	al, BYTE PTR _IsAvail$80963[ebp]

; 3746 : 	}
; 3747 : 	return true;
; 3748 : }

	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L80962:
	pop	esi
	mov	al, 1
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Can_Team_Build_Vehicle@@YA_NH@Z ENDP			; Can_Team_Build_Vehicle
_TEXT	ENDS
PUBLIC	?Send_Message_With_Team_Color@@YAXHPBD@Z	; Send_Message_With_Team_Color
; Function compile flags: /Ogty
;	COMDAT ?Send_Message_With_Team_Color@@YAXHPBD@Z
_TEXT	SEGMENT
_v$89195 = -12						; size = 12
_Team$ = 8						; size = 4
_Msg$ = 12						; size = 4
?Send_Message_With_Team_Color@@YAXHPBD@Z PROC NEAR	; Send_Message_With_Team_Color, COMDAT

; 3752 : 	unsigned int Red = 0,Blue = 0,Green = 0;
; 3753 : 	Get_Team_Color(Team,&Red,&Green,&Blue);

	mov	eax, DWORD PTR _Team$[esp-4]
	sub	esp, 12					; 0000000cH
	push	eax
	lea	ecx, DWORD PTR _v$89195[esp+16]
	push	ecx
	call	DWORD PTR ?Get_Color_For_Team@@3P6AXPAUVector3@@H@ZA ; Get_Color_For_Team
	fld	DWORD PTR _v$89195[esp+28]

; 3754 : 	Send_Message(Red,Green,Blue,Msg);

	mov	edx, DWORD PTR _Msg$[esp+16]
	fmul	DWORD PTR __real@437f0000
	push	edx
	call	__ftol2
	fld	DWORD PTR _v$89195[esp+28]
	fmul	DWORD PTR __real@437f0000
	push	eax
	call	__ftol2
	fld	DWORD PTR _v$89195[esp+28]
	fmul	DWORD PTR __real@437f0000
	push	eax
	call	__ftol2
	push	eax
	call	DWORD PTR ?Send_Message@@3P6AXIIIPBD@ZA	; Send_Message

; 3755 : }

	add	esp, 36					; 00000024H
	ret	0
?Send_Message_With_Team_Color@@YAXHPBD@Z ENDP		; Send_Message_With_Team_Color
_TEXT	ENDS
PUBLIC	?Send_Message_With_Obj_Color@@YAXPAEPBD@Z	; Send_Message_With_Obj_Color
; Function compile flags: /Ogty
;	COMDAT ?Send_Message_With_Obj_Color@@YAXPAEPBD@Z
_TEXT	SEGMENT
_Blue$ = -12						; size = 4
_Green$ = -8						; size = 4
_Red$ = -4						; size = 4
_obj$ = 8						; size = 4
_Msg$ = 12						; size = 4
?Send_Message_With_Obj_Color@@YAXPAEPBD@Z PROC NEAR	; Send_Message_With_Obj_Color, COMDAT

; 3758 : {

	sub	esp, 12					; 0000000cH

; 3759 : 	unsigned int Red = 0,Blue = 0,Green = 0;

	xor	eax, eax
	mov	DWORD PTR _Red$[esp+12], eax
	mov	DWORD PTR _Blue$[esp+12], eax
	mov	DWORD PTR _Green$[esp+12], eax

; 3760 : 	Get_Object_Color(obj,&Red,&Green,&Blue);

	lea	eax, DWORD PTR _Blue$[esp+12]
	push	eax
	mov	eax, DWORD PTR _obj$[esp+12]
	lea	ecx, DWORD PTR _Green$[esp+16]
	push	ecx
	lea	edx, DWORD PTR _Red$[esp+20]
	push	edx
	push	eax
	call	?Get_Object_Color@@YAXPAEPAI11@Z	; Get_Object_Color

; 3761 : 	Send_Message(Red,Green,Blue,Msg);

	mov	ecx, DWORD PTR _Msg$[esp+24]
	mov	edx, DWORD PTR _Blue$[esp+28]
	mov	eax, DWORD PTR _Green$[esp+28]
	push	ecx
	mov	ecx, DWORD PTR _Red$[esp+32]
	push	edx
	push	eax
	push	ecx
	call	DWORD PTR ?Send_Message@@3P6AXIIIPBD@ZA	; Send_Message

; 3762 : }

	add	esp, 44					; 0000002cH
	ret	0
?Send_Message_With_Obj_Color@@YAXPAEPBD@Z ENDP		; Send_Message_With_Obj_Color
_TEXT	ENDS
PUBLIC	?Set_Occupants_Fade@@YAXPAEMMMM@Z		; Set_Occupants_Fade
EXTRN	__except_list:DWORD
EXTRN	___CxxFrameHandler:NEAR
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T89236	DD	0ffffffffH
	DD	FLAT:$L89202
$T89230	DD	019930520H
	DD	01H
	DD	FLAT:$T89236
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Set_Occupants_Fade@@YAXPAEMMMM@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_red$ = 12						; size = 4
_green$ = 16						; size = 4
_blue$ = 20						; size = 4
_opacity$ = 24						; size = 4
?Set_Occupants_Fade@@YAXPAEMMMM@Z PROC NEAR		; Set_Occupants_Fade, COMDAT

; 3816 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Set_Occupants_Fade@@YAXPAEMMMM@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L81041
	test	esi, esi
	je	$L81041

; 3818 : 	{
; 3819 : 		return;
; 3820 : 	}
; 3821 : 	if (!As_VehicleGameObj(obj))

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

; 3822 : 	{
; 3823 : 		return;
; 3824 : 	}
; 3825 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 3826 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edi, DWORD PTR [esi+2480]
	mov	ecx, DWORD PTR [esi+2484]
	mov	dl, BYTE PTR [esi+2488]
	mov	al, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], edi
	mov	DWORD PTR _occupants$[ebp+8], ecx
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	BYTE PTR _occupants$[ebp+13], al
	xor	esi, esi

; 3827 : 	int x = occupants.Length();
; 3828 : 	for (int i = 0;i < x;i++)

	test	ecx, ecx
	mov	DWORD PTR __$EHRec$[ebp+8], esi
	jle	SHORT $L81041
	mov	ebx, DWORD PTR _opacity$[ebp]
$L81039:

; 3829 : 	{
; 3830 : 		if (occupants[i])

	mov	eax, DWORD PTR [edi+esi*4]
	test	eax, eax
	je	SHORT $L81040

; 3831 : 		{
; 3832 : 			Set_Screen_Fade_Color_Player(occupants[i],red,green,blue,0);

	mov	ecx, DWORD PTR _blue$[ebp]
	mov	edx, DWORD PTR _green$[ebp]
	push	0
	push	ecx
	mov	ecx, DWORD PTR _red$[ebp]
	push	edx
	push	ecx
	push	eax
	call	DWORD PTR ?Set_Screen_Fade_Color_Player@@3P6AXPAEMMMM@ZA ; Set_Screen_Fade_Color_Player

; 3833 : 			Set_Screen_Fade_Opacity_Player(occupants[i],opacity,0);

	mov	edx, DWORD PTR [edi+esi*4]
	push	0
	push	ebx
	push	edx
	call	DWORD PTR ?Set_Screen_Fade_Opacity_Player@@3P6AXPAEMM@ZA ; Set_Screen_Fade_Opacity_Player
	mov	ecx, DWORD PTR _occupants$[ebp+8]
	add	esp, 32					; 00000020H
$L81040:
	inc	esi
	cmp	esi, ecx
	jl	SHORT $L81039
$L81041:

; 3834 : 		}
; 3835 : 	}
; 3836 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L89202:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Set_Occupants_Fade@@YAXPAEMMMM@Z:
	mov	eax, OFFSET FLAT:$T89230
	jmp	___CxxFrameHandler
text$x	ENDS
?Set_Occupants_Fade@@YAXPAEMMMM@Z ENDP			; Set_Occupants_Fade
; Function compile flags: /Ogty
;	COMDAT ??_G?$VectorClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$VectorClass@PAE@@UAEPAXI@Z PROC NEAR		; VectorClass<unsigned char *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	test	BYTE PTR ___flags$[esp-4], 1
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	je	SHORT $L89248
	push	esi
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
$L89248:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$VectorClass@PAE@@UAEPAXI@Z ENDP			; VectorClass<unsigned char *>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Remove_Script@@YAXPAEPBD@Z			; Remove_Script
EXTRN	?Destroy_Script@ScriptImpClass@@QAEXXZ:NEAR	; ScriptImpClass::Destroy_Script
; Function compile flags: /Ogty
;	COMDAT ?Remove_Script@@YAXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_script$ = 12						; size = 4
?Remove_Script@@YAXPAEPBD@Z PROC NEAR			; Remove_Script, COMDAT

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	edi, DWORD PTR _obj$[esp]
	push	edi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81258
	test	edi, edi
	je	SHORT $L81258
	push	ebx

; 4023 : 	{
; 4024 : 		return;
; 4025 : 	}
; 4026 : 	void *ptr = (void *)(obj+0x6EC);
; 4027 : 	SimpleDynVecClass<GameObjObserverClass *> *observers = (SimpleDynVecClass<GameObjObserverClass *>*)ptr;
; 4028 : 	int x = observers->Count();

	mov	ebx, DWORD PTR [edi+1784]
	push	esi

; 4029 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L89263
	push	ebp
	mov	ebp, DWORD PTR _script$[esp+12]
	npad	4
$L81256:

; 4030 : 	{
; 4031 : 		if (!stricmp((*observers)[i]->Get_Name(),script))

	mov	ecx, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	ebp
	call	DWORD PTR [edx+4]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81257

; 4032 : 		{
; 4033 : 			((ScriptImpClass*)(*observers)[i])->Destroy_Script();

	mov	eax, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [eax+esi*4]
	call	?Destroy_Script@ScriptImpClass@@QAEXXZ	; ScriptImpClass::Destroy_Script
$L81257:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81256
	pop	ebp
$L89263:
	pop	esi
	pop	ebx
$L81258:
	pop	edi

; 4034 : 		}
; 4035 : 	}
; 4036 : }

	ret	0
?Remove_Script@@YAXPAEPBD@Z ENDP			; Remove_Script
_TEXT	ENDS
PUBLIC	?Remove_Duplicate_Script@@YAXPAEPBD@Z		; Remove_Duplicate_Script
; Function compile flags: /Ogty
;	COMDAT ?Remove_Duplicate_Script@@YAXPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_script$ = 12						; size = 4
?Remove_Duplicate_Script@@YAXPAEPBD@Z PROC NEAR		; Remove_Duplicate_Script, COMDAT

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

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

; 4041 : 	{
; 4042 : 		return;
; 4043 : 	}
; 4044 : 	void *ptr = (void *)(obj+0x6EC);
; 4045 : 	SimpleDynVecClass<GameObjObserverClass *>* observers = (SimpleDynVecClass<GameObjObserverClass *>*)ptr;
; 4046 : 	bool Found = false;
; 4047 : 	for (int i = 0;i < observers->Count();i++)

	mov	eax, DWORD PTR [edi+1784]
	push	ebx
	push	esi
	xor	bl, bl
	xor	esi, esi
	test	eax, eax
	jle	SHORT $L89281
	push	ebp
	mov	ebp, DWORD PTR _script$[esp+12]
	npad	2
$L81273:

; 4048 : 	{
; 4049 : 		if (!stricmp((*observers)[i]->Get_Name(),script))

	mov	ecx, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	ebp
	call	DWORD PTR [edx+4]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81274

; 4050 : 		{
; 4051 : 			if (!Found)

	test	bl, bl
	jne	SHORT $L81277

; 4052 : 			{
; 4053 : 				Found = true;

	mov	bl, 1

; 4054 : 			}
; 4055 : 			else

	jmp	SHORT $L81274
$L81277:

; 4056 : 			{
; 4057 : 				((ScriptImpClass*)(*observers)[i])->Destroy_Script();

	mov	eax, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [eax+esi*4]
	call	?Destroy_Script@ScriptImpClass@@QAEXXZ	; ScriptImpClass::Destroy_Script
$L81274:
	mov	eax, DWORD PTR [edi+1784]
	inc	esi
	cmp	esi, eax
	jl	SHORT $L81273
	pop	ebp
$L89281:
	pop	esi
	pop	ebx
$L81275:
	pop	edi

; 4058 : 			}
; 4059 : 		}
; 4060 : 	}
; 4061 : }

	ret	0
?Remove_Duplicate_Script@@YAXPAEPBD@Z ENDP		; Remove_Duplicate_Script
_TEXT	ENDS
PUBLIC	?Remove_Script_Preset@@YAXPBD0H@Z		; Remove_Script_Preset
; Function compile flags: /Ogty
;	COMDAT ?Remove_Script_Preset@@YAXPBD0H@Z
_TEXT	SEGMENT
_o$81289 = -4						; size = 4
_script$ = 8						; size = 4
_preset$ = 12						; size = 4
_team$ = 16						; size = 4
?Remove_Script_Preset@@YAXPBD0H@Z PROC NEAR		; Remove_Script_Preset, COMDAT

; 4064 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4066 : 	while (x)

	test	edi, edi
	je	$L81288
$L81287:

; 4067 : 	{
; 4068 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 4069 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81289[ebp], esi
	je	$L81294
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81294
	mov	ecx, DWORD PTR _o$81289[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L81294

; 4070 : 		{
; 4071 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89297
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L89295
$L89297:
	xor	ecx, ecx
$L89295:

; 4072 : 			if (!stricmp(d->Get_Name(),preset))

	mov	eax, DWORD PTR _preset$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81294

; 4073 : 			{
; 4074 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89312
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89312
	mov	ecx, DWORD PTR _o$81289[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L89312
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L89310
$L89312:
	xor	eax, eax
$L89310:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81295
	cmp	ecx, 2
	jne	SHORT $L81294
$L81295:

; 4075 : 				{
; 4076 : 					Remove_Script(o,script);

	mov	edx, DWORD PTR _script$[ebp]
	push	edx
	push	esi
	call	?Remove_Script@@YAXPAEPBD@Z		; Remove_Script
	add	esp, 8
$L81294:

; 4077 : 				}
; 4078 : 			}
; 4079 : 		}
; 4080 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81287
$L81288:

; 4081 : 	}
; 4082 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Remove_Script_Preset@@YAXPBD0H@Z ENDP			; Remove_Script_Preset
_TEXT	ENDS
PUBLIC	?Remove_Script_Type@@YAXPBDKH@Z			; Remove_Script_Type
; Function compile flags: /Ogty
;	COMDAT ?Remove_Script_Type@@YAXPBDKH@Z
_TEXT	SEGMENT
_o$81305 = -4						; size = 4
_script$ = 8						; size = 4
_type$ = 12						; size = 4
_team$ = 16						; size = 4
?Remove_Script_Type@@YAXPBDKH@Z PROC NEAR		; Remove_Script_Type, COMDAT

; 4085 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4087 : 	while (x)

	test	edi, edi
	je	$L81304
$L81303:

; 4088 : 	{
; 4089 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 4090 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81305[ebp], esi
	je	$L81310
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81310
	mov	ecx, DWORD PTR _o$81305[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	SHORT $L81310

; 4091 : 		{
; 4092 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89334
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L89332
$L89334:
	xor	ecx, ecx
$L89332:

; 4093 : 			if (d->Get_Class_ID() == type)

	mov	eax, DWORD PTR [ecx]
	call	DWORD PTR [eax+32]
	cmp	eax, DWORD PTR _type$[ebp]
	jne	SHORT $L81310

; 4094 : 			{
; 4095 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89349
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89349
	mov	ecx, DWORD PTR _o$81305[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L89349
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L89347
$L89349:
	xor	eax, eax
$L89347:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81311
	cmp	ecx, 2
	jne	SHORT $L81310
$L81311:

; 4096 : 				{
; 4097 : 					Remove_Script(o,script);

	mov	eax, DWORD PTR _script$[ebp]
	push	eax
	push	esi
	call	?Remove_Script@@YAXPAEPBD@Z		; Remove_Script
	add	esp, 8
$L81310:

; 4098 : 				}
; 4099 : 			}
; 4100 : 		}
; 4101 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81303
$L81304:

; 4102 : 	}
; 4103 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Remove_Script_Type@@YAXPBDKH@Z ENDP			; Remove_Script_Type
_TEXT	ENDS
PUBLIC	?Remove_All_Scripts@@YAXPAE@Z			; Remove_All_Scripts
; Function compile flags: /Ogty
;	COMDAT ?Remove_All_Scripts@@YAXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Remove_All_Scripts@@YAXPAE@Z PROC NEAR			; Remove_All_Scripts, COMDAT

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

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

; 4108 : 	{
; 4109 : 		return;
; 4110 : 	}
; 4111 : 	void *ptr = (void *)(obj+0x6EC);
; 4112 : 	SimpleDynVecClass<GameObjObserverClass *> *observers = (SimpleDynVecClass<GameObjObserverClass *>*)ptr;
; 4113 : 	int x = observers->Count();

	mov	edi, DWORD PTR [ebx+1784]

; 4114 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	edi, edi
	jle	SHORT $L89369
	npad	9
$L81323:

; 4115 : 	{
; 4116 : 		((ScriptImpClass*)(*observers)[i])->Destroy_Script();

	mov	ecx, DWORD PTR [ebx+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	call	?Destroy_Script@ScriptImpClass@@QAEXXZ	; ScriptImpClass::Destroy_Script
	inc	esi
	cmp	esi, edi
	jl	SHORT $L81323
$L89369:
	pop	edi
	pop	esi
$L81325:
	pop	ebx

; 4117 : 	}
; 4118 : }

	ret	0
?Remove_All_Scripts@@YAXPAE@Z ENDP			; Remove_All_Scripts
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Occupant_Count@@YAHPAE@Z		; Get_Vehicle_Occupant_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Occupant_Count@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Occupant_Count@@YAHPAE@Z PROC NEAR		; Get_Vehicle_Occupant_Count, COMDAT

; 4122 : {

	push	ebp
	mov	ebp, esp

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

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

; 4126 : 	}
; 4127 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4128 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edx, DWORD PTR [esi+2480]
	mov	esi, DWORD PTR [esi+2484]

; 4129 : 	int count = 0;

	xor	eax, eax

; 4130 : 	int x = occupants.Length();
; 4131 : 	for (int i = 0;i < x;i++)

	xor	ecx, ecx
	test	esi, esi
	jle	SHORT $L81329
	npad	1
$L81340:

; 4132 : 	{
; 4133 : 		if (occupants[i])

	cmp	DWORD PTR [edx+ecx*4], 0
	je	SHORT $L81341

; 4134 : 		{
; 4135 : 			count++;

	inc	eax
$L81341:

; 4130 : 	int x = occupants.Length();
; 4131 : 	for (int i = 0;i < x;i++)

	inc	ecx
	cmp	ecx, esi
	jl	SHORT $L81340

; 4136 : 		}
; 4137 : 	}
; 4138 : 	return count;
; 4139 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81331:

; 4124 : 	{
; 4125 : 		return 0;

	xor	eax, eax
$L81329:

; 4136 : 		}
; 4137 : 	}
; 4138 : 	return count;
; 4139 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Occupant_Count@@YAHPAE@Z ENDP		; Get_Vehicle_Occupant_Count
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Occupant@@YAPAEPAEH@Z		; Get_Vehicle_Occupant
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Occupant@@YAPAEPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_seat$ = 12						; size = 4
?Get_Vehicle_Occupant@@YAPAEPAEH@Z PROC NEAR		; Get_Vehicle_Occupant, COMDAT

; 4142 : {

	push	ebp
	mov	ebp, esp

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

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

; 4144 : 	{
; 4145 : 		return 0;
; 4146 : 	}
; 4147 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4148 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	eax, DWORD PTR [esi+2480]
	mov	esi, DWORD PTR [esi+2484]

; 4149 : 	if (seat >= occupants.Length())

	mov	ecx, DWORD PTR _seat$[ebp]
	cmp	ecx, esi

; 4150 : 	{
; 4151 : 		return 0;

	jge	SHORT $L81350

; 4152 : 	}
; 4153 : 	return occupants[seat];

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

; 4154 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81350:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Occupant@@YAPAEPAEH@Z ENDP			; Get_Vehicle_Occupant
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Driver@@YAPAEPAE@Z			; Get_Vehicle_Driver
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Driver@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Driver@@YAPAEPAE@Z PROC NEAR		; Get_Vehicle_Driver, COMDAT

; 4157 : {

	push	ebp
	mov	ebp, esp

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

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

; 4159 : 	{
; 4160 : 		return 0;
; 4161 : 	}
; 4162 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4163 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;
; 4164 : 	if (occupants.Length() <= 0)

	mov	ecx, DWORD PTR [esi+2484]
	test	ecx, ecx
	mov	eax, DWORD PTR [esi+2480]

; 4165 : 	{
; 4166 : 		return 0;

	jle	SHORT $L81363

; 4167 : 	}
; 4168 : 	return occupants[0];

	mov	eax, DWORD PTR [eax]

; 4169 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81363:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Driver@@YAPAEPAE@Z ENDP			; Get_Vehicle_Driver
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Gunner_Pos@@YAPAEPAE@Z		; Get_Vehicle_Gunner_Pos
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Gunner_Pos@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Gunner_Pos@@YAPAEPAE@Z PROC NEAR		; Get_Vehicle_Gunner_Pos, COMDAT

; 4172 : {

	push	ebp
	mov	ebp, esp

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

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

; 4174 : 	{
; 4175 : 		return 0;
; 4176 : 	}
; 4177 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4178 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;
; 4179 : 	if (occupants.Length() <= 1)

	cmp	DWORD PTR [esi+2484], 1
	mov	eax, DWORD PTR [esi+2480]

; 4180 : 	{
; 4181 : 		return 0;

	jle	SHORT $L81376

; 4182 : 	}
; 4183 : 	return occupants[1];

	mov	eax, DWORD PTR [eax+4]

; 4184 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81376:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Gunner_Pos@@YAPAEPAE@Z ENDP		; Get_Vehicle_Gunner_Pos
_TEXT	ENDS
PUBLIC	?Get_Vehicle_Gunner@@YAPAEPAE@Z			; Get_Vehicle_Gunner
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Gunner@@YAPAEPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Vehicle_Gunner@@YAPAEPAE@Z PROC NEAR		; Get_Vehicle_Gunner, COMDAT

; 4187 : {

	push	ebp
	mov	ebp, esp

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

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

; 4191 : 	}
; 4192 : 	GameObject *o = Get_Vehicle_Gunner_Pos(obj);

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

; 4193 : 	if ((!o) || (*(bool *)(obj+0x994)))

	test	eax, eax
	je	SHORT $L81393
	mov	cl, BYTE PTR [esi+2452]
	test	cl, cl
	je	SHORT $L81387
$L81393:

; 4194 : 	{
; 4195 : 		o = Get_Vehicle_Driver(obj);

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

; 4196 : 	}
; 4197 : 	return o;
; 4198 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L81389:

; 4189 : 	{
; 4190 : 		return 0;

	xor	eax, eax
$L81387:

; 4196 : 	}
; 4197 : 	return o;
; 4198 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Gunner@@YAPAEPAE@Z ENDP			; Get_Vehicle_Gunner
_TEXT	ENDS
PUBLIC	?Get_Current_Weapon@@YAPBDPAE@Z			; Get_Current_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Weapon@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Current_Weapon@@YAPBDPAE@Z PROC NEAR		; Get_Current_Weapon, COMDAT

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

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

; 4278 : 	}
; 4279 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4280 : 	if (!o)

	test	eax, eax

; 4281 : 	{
; 4282 : 		return 0;

	je	SHORT $L81442

; 4283 : 	}
; 4284 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4285 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81442
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81442

; 4286 : 	{
; 4287 : 		return ((DefinitionClass *)*(w->Vector[w->current]))->Get_Name();

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [ecx]
	pop	esi
	jmp	DWORD PTR [edx+48]
$L81442:

; 4276 : 	{
; 4277 : 		return 0;

	xor	eax, eax
	pop	esi

; 4288 : 	}
; 4289 : 	return 0;
; 4290 : }

	ret	0
?Get_Current_Weapon@@YAPBDPAE@Z ENDP			; Get_Current_Weapon
_TEXT	ENDS
PUBLIC	?Get_Current_Bullets@@YAHPAE@Z			; Get_Current_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_c$89508 = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Current_Bullets@@YAHPAE@Z PROC NEAR		; Get_Current_Bullets, COMDAT

; 4351 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4355 : 	}
; 4356 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4357 : 	if (!o)

	test	eax, eax

; 4358 : 	{
; 4359 : 		return 0;

	je	SHORT $L81477

; 4360 : 	}
; 4361 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4362 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81477
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81477

; 4363 : 	{
; 4364 : 		WeaponClass *wc = w->Vector[w->current];
; 4365 : 		return GetBullets(wc);

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]
	add	eax, 36					; 00000024H
	mov	DWORD PTR _c$89508[ebp], eax
	mov	ecx, DWORD PTR _c$89508[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4366 : 	}
; 4367 : 	return 0;
; 4368 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81477:

; 4353 : 	{
; 4354 : 		return 0;

	xor	eax, eax

; 4366 : 	}
; 4367 : 	return 0;
; 4368 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Current_Bullets@@YAHPAE@Z ENDP			; Get_Current_Bullets
_TEXT	ENDS
PUBLIC	?Get_Current_Clip_Bullets@@YAHPAE@Z		; Get_Current_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Clip_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_c$89522 = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Current_Clip_Bullets@@YAHPAE@Z PROC NEAR		; Get_Current_Clip_Bullets, COMDAT

; 4371 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4375 : 	}
; 4376 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4377 : 	if (!o)

	test	eax, eax

; 4378 : 	{
; 4379 : 		return 0;

	je	SHORT $L81488

; 4380 : 	}
; 4381 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4382 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81488
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81488

; 4383 : 	{
; 4384 : 		WeaponClass *wc = w->Vector[w->current];
; 4385 : 		return GetClipBullets(wc);

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]
	add	eax, 40					; 00000028H
	mov	DWORD PTR _c$89522[ebp], eax
	mov	ecx, DWORD PTR _c$89522[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4386 : 	}
; 4387 : 	return 0;
; 4388 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81488:

; 4373 : 	{
; 4374 : 		return 0;

	xor	eax, eax

; 4386 : 	}
; 4387 : 	return 0;
; 4388 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Current_Clip_Bullets@@YAHPAE@Z ENDP		; Get_Current_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Get_Current_Total_Bullets@@YAHPAE@Z		; Get_Current_Total_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Total_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_c$89540 = -4						; size = 4
_c$89536 = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Current_Total_Bullets@@YAHPAE@Z PROC NEAR		; Get_Current_Total_Bullets, COMDAT

; 4391 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4393 : 	{
; 4394 : 		return 0;
; 4395 : 	}
; 4396 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4397 : 	if (!o)

	test	eax, eax

; 4398 : 	{
; 4399 : 		return 0;

	je	SHORT $L81499

; 4400 : 	}
; 4401 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4402 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81499
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81499

; 4403 : 	{
; 4404 : 		WeaponClass *wc = w->Vector[w->current];

	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+ecx*4]

; 4405 : 		int bullets = GetBullets(wc);

	lea	eax, DWORD PTR [esi+36]
	mov	DWORD PTR _c$89536[ebp], eax
	mov	ecx, DWORD PTR _c$89536[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4406 : 		int clipbullets = GetClipBullets(wc);

	add	esi, 40					; 00000028H
	mov	edi, eax
	mov	DWORD PTR _c$89540[ebp], esi
	mov	ecx, DWORD PTR _c$89540[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4407 : 		if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81508

; 4408 : 		{
; 4409 : 			return -1;

	or	eax, -1

; 4412 : 	}
; 4413 : 	return 0;
; 4414 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81508:

; 4410 : 		}
; 4411 : 		return bullets+clipbullets;

	add	eax, edi

; 4412 : 	}
; 4413 : 	return 0;
; 4414 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81499:
	pop	edi
	xor	eax, eax
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Current_Total_Bullets@@YAHPAE@Z ENDP		; Get_Current_Total_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Bullets@@YAHPAEH@Z		; Get_Position_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_c$89553 = -4						; size = 4
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Bullets@@YAHPAEH@Z PROC NEAR		; Get_Position_Bullets, COMDAT

; 4417 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4421 : 	}
; 4422 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4423 : 	if (!o)

	test	eax, eax

; 4424 : 	{
; 4425 : 		return 0;

	je	SHORT $L81514

; 4426 : 	}
; 4427 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4428 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[ebp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81514
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81514

; 4429 : 	{
; 4430 : 		WeaponClass *wc = w->Vector[position];
; 4431 : 		return GetBullets(wc);

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]
	add	eax, 36					; 00000024H
	mov	DWORD PTR _c$89553[ebp], eax
	mov	ecx, DWORD PTR _c$89553[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4432 : 	}
; 4433 : 	return 0;
; 4434 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81514:

; 4419 : 	{
; 4420 : 		return 0;

	xor	eax, eax

; 4432 : 	}
; 4433 : 	return 0;
; 4434 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Position_Bullets@@YAHPAEH@Z ENDP			; Get_Position_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Clip_Bullets@@YAHPAEH@Z		; Get_Position_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Clip_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_c$89567 = -4						; size = 4
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Clip_Bullets@@YAHPAEH@Z PROC NEAR		; Get_Position_Clip_Bullets, COMDAT

; 4437 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4441 : 	}
; 4442 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4443 : 	if (!o)

	test	eax, eax

; 4444 : 	{
; 4445 : 		return 0;

	je	SHORT $L81526

; 4446 : 	}
; 4447 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4448 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[ebp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81526
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81526

; 4449 : 	{
; 4450 : 		WeaponClass *wc = w->Vector[position];
; 4451 : 		return GetClipBullets(wc);

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]
	add	eax, 40					; 00000028H
	mov	DWORD PTR _c$89567[ebp], eax
	mov	ecx, DWORD PTR _c$89567[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4452 : 	}
; 4453 : 	return 0;
; 4454 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81526:

; 4439 : 	{
; 4440 : 		return 0;

	xor	eax, eax

; 4452 : 	}
; 4453 : 	return 0;
; 4454 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Position_Clip_Bullets@@YAHPAEH@Z ENDP		; Get_Position_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Total_Bullets@@YAHPAEH@Z		; Get_Position_Total_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Total_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_c$89585 = -4						; size = 4
_c$89581 = -4						; size = 4
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Total_Bullets@@YAHPAEH@Z PROC NEAR	; Get_Position_Total_Bullets, COMDAT

; 4457 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4459 : 	{
; 4460 : 		return 0;
; 4461 : 	}
; 4462 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4463 : 	if (!o)

	test	eax, eax

; 4464 : 	{
; 4465 : 		return 0;

	je	SHORT $L81538

; 4466 : 	}
; 4467 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4468 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[ebp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81538
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81538

; 4469 : 	{
; 4470 : 		WeaponClass *wc = w->Vector[position];

	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+ecx*4]

; 4471 : 		int bullets = GetBullets(wc);

	lea	eax, DWORD PTR [esi+36]
	mov	DWORD PTR _c$89581[ebp], eax
	mov	ecx, DWORD PTR _c$89581[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4472 : 		int clipbullets = GetClipBullets(wc);

	add	esi, 40					; 00000028H
	mov	edi, eax
	mov	DWORD PTR _c$89585[ebp], esi
	mov	ecx, DWORD PTR _c$89585[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4473 : 		if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81547

; 4474 : 		{
; 4475 : 			return -1;

	or	eax, -1

; 4478 : 	}
; 4479 : 	return 0;
; 4480 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81547:

; 4476 : 		}
; 4477 : 		return bullets+clipbullets;

	add	eax, edi

; 4478 : 	}
; 4479 : 	return 0;
; 4480 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81538:
	pop	edi
	xor	eax, eax
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Position_Total_Bullets@@YAHPAEH@Z ENDP		; Get_Position_Total_Bullets
_TEXT	ENDS
PUBLIC	?Get_Bullets@@YAHPAEPBD@Z			; Get_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89603 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Bullets@@YAHPAEPBD@Z PROC NEAR			; Get_Bullets, COMDAT

; 4483 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81553
	test	esi, esi
	je	SHORT $L81553

; 4487 : 	}
; 4488 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4489 : 	if (!o)

	test	eax, eax

; 4490 : 	{
; 4491 : 		return 0;

	je	SHORT $L81553

; 4492 : 	}
; 4493 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4494 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4495 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81553
	npad	6
$L81560:

; 4496 : 	{
; 4497 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81561

; 4498 : 		{
; 4499 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89606
$L81561:

; 4495 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81560
$L81553:

; 4485 : 	{
; 4486 : 		return 0;

	xor	eax, eax

; 4503 : 			}
; 4504 : 		}
; 4505 : 	}
; 4506 : 	return 0;
; 4507 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89606:

; 4500 : 			{
; 4501 : 				WeaponClass *wc = w->Vector[i];
; 4502 : 				return GetBullets(wc);

	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [eax+esi*4]
	add	ecx, 36					; 00000024H
	mov	DWORD PTR _c$89603[ebp], ecx
	mov	ecx, DWORD PTR _c$89603[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4503 : 			}
; 4504 : 		}
; 4505 : 	}
; 4506 : 	return 0;
; 4507 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Bullets@@YAHPAEPBD@Z ENDP				; Get_Bullets
_TEXT	ENDS
PUBLIC	?Get_Clip_Bullets@@YAHPAEPBD@Z			; Get_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Clip_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89626 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Clip_Bullets@@YAHPAEPBD@Z PROC NEAR		; Get_Clip_Bullets, COMDAT

; 4510 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81572
	test	esi, esi
	je	SHORT $L81572

; 4514 : 	}
; 4515 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4516 : 	if (!o)

	test	eax, eax

; 4517 : 	{
; 4518 : 		return 0;

	je	SHORT $L81572

; 4519 : 	}
; 4520 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4521 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4522 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81572
	npad	6
$L81579:

; 4523 : 	{
; 4524 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81580

; 4525 : 		{
; 4526 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89629
$L81580:

; 4522 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81579
$L81572:

; 4512 : 	{
; 4513 : 		return 0;

	xor	eax, eax

; 4530 : 			}
; 4531 : 		}
; 4532 : 	}
; 4533 : 	return 0;
; 4534 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89629:

; 4527 : 			{
; 4528 : 				WeaponClass *wc = w->Vector[i];
; 4529 : 				return GetClipBullets(wc);

	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [eax+esi*4]
	add	ecx, 40					; 00000028H
	mov	DWORD PTR _c$89626[ebp], ecx
	mov	ecx, DWORD PTR _c$89626[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4530 : 			}
; 4531 : 		}
; 4532 : 	}
; 4533 : 	return 0;
; 4534 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Clip_Bullets@@YAHPAEPBD@Z ENDP			; Get_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Get_Total_Bullets@@YAHPAEPBD@Z			; Get_Total_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Total_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89652 = -4						; size = 4
_c$89648 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Total_Bullets@@YAHPAEPBD@Z PROC NEAR		; Get_Total_Bullets, COMDAT

; 4537 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81591
	test	esi, esi
	je	SHORT $L81591

; 4541 : 	}
; 4542 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4543 : 	if (!o)

	test	eax, eax

; 4544 : 	{
; 4545 : 		return 0;

	je	SHORT $L81591

; 4546 : 	}
; 4547 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4548 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4549 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81591
	npad	6
$L81598:

; 4550 : 	{
; 4551 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81599

; 4552 : 		{
; 4553 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89655
$L81599:

; 4549 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81598
$L81591:

; 4539 : 	{
; 4540 : 		return 0;

	xor	eax, eax

; 4563 : 			}
; 4564 : 		}
; 4565 : 	}
; 4566 : 	return 0;
; 4567 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89655:

; 4554 : 			{
; 4555 : 				WeaponClass *wc = w->Vector[i];

	mov	eax, DWORD PTR [edi+8]
	mov	esi, DWORD PTR [eax+esi*4]

; 4556 : 				int bullets = GetBullets(wc);

	lea	ecx, DWORD PTR [esi+36]
	mov	DWORD PTR _c$89648[ebp], ecx
	mov	ecx, DWORD PTR _c$89648[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4557 : 				int clipbullets = GetClipBullets(wc);

	add	esi, 40					; 00000028H
	mov	edi, eax
	mov	DWORD PTR _c$89652[ebp], esi
	mov	ecx, DWORD PTR _c$89652[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4558 : 				if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81607

; 4559 : 				{
; 4560 : 					return -1;

	or	eax, -1

; 4563 : 			}
; 4564 : 		}
; 4565 : 	}
; 4566 : 	return 0;
; 4567 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L81607:

; 4561 : 				}
; 4562 : 				return bullets+clipbullets;

	add	eax, edi

; 4563 : 			}
; 4564 : 		}
; 4565 : 	}
; 4566 : 	return 0;
; 4567 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Total_Bullets@@YAHPAEPBD@Z ENDP			; Get_Total_Bullets
_TEXT	ENDS
PUBLIC	?Get_Current_Max_Bullets@@YAHPAE@Z		; Get_Current_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_c$89670 = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Current_Max_Bullets@@YAHPAE@Z PROC NEAR		; Get_Current_Max_Bullets, COMDAT

; 4570 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4574 : 	}
; 4575 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4576 : 	if (!o)

	test	eax, eax

; 4577 : 	{
; 4578 : 		return 0;

	je	SHORT $L81612

; 4579 : 	}
; 4580 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4581 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81612
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81612

; 4582 : 	{
; 4583 : 		WeaponClass *wc = w->Vector[w->current];

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]

; 4584 : 		return GetMaxBullets(wc);

	mov	ecx, DWORD PTR [eax]
	add	ecx, 116				; 00000074H
	mov	DWORD PTR _c$89670[ebp], ecx
	mov	ecx, DWORD PTR _c$89670[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4585 : 	}
; 4586 : 	return 0;
; 4587 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81612:

; 4572 : 	{
; 4573 : 		return 0;

	xor	eax, eax

; 4585 : 	}
; 4586 : 	return 0;
; 4587 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Current_Max_Bullets@@YAHPAE@Z ENDP			; Get_Current_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Current_Clip_Max_Bullets@@YAHPAE@Z		; Get_Current_Clip_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Clip_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Current_Clip_Max_Bullets@@YAHPAE@Z PROC NEAR	; Get_Current_Clip_Max_Bullets, COMDAT

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

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

; 4594 : 	}
; 4595 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4596 : 	if (!o)

	test	eax, eax

; 4597 : 	{
; 4598 : 		return 0;

	je	SHORT $L81623

; 4599 : 	}
; 4600 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4601 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81623
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81623

; 4602 : 	{
; 4603 : 		WeaponClass *wc = w->Vector[w->current];

	mov	edx, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [edx+ecx*4]
	pop	esi

; 4604 : 		return GetMaxClipBullets(wc);

	mov	DWORD PTR _obj$[esp-4], ecx
	jmp	?GetMaxClipBullets@@YAHPAK@Z		; GetMaxClipBullets
$L81623:

; 4592 : 	{
; 4593 : 		return 0;

	xor	eax, eax
	pop	esi

; 4605 : 	}
; 4606 : 	return 0;
; 4607 : }

	ret	0
?Get_Current_Clip_Max_Bullets@@YAHPAE@Z ENDP		; Get_Current_Clip_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Current_Total_Max_Bullets@@YAHPAE@Z	; Get_Current_Total_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Total_Max_Bullets@@YAHPAE@Z
_TEXT	SEGMENT
_c$89696 = -4						; size = 4
_obj$ = 8						; size = 4
?Get_Current_Total_Max_Bullets@@YAHPAE@Z PROC NEAR	; Get_Current_Total_Max_Bullets, COMDAT

; 4610 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4612 : 	{
; 4613 : 		return 0;
; 4614 : 	}
; 4615 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4616 : 	if (!o)

	test	eax, eax

; 4617 : 	{
; 4618 : 		return 0;

	je	SHORT $L81634

; 4619 : 	}
; 4620 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4621 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L81634
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81634

; 4622 : 	{
; 4623 : 		WeaponClass *wc = w->Vector[w->current];

	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+ecx*4]

; 4624 : 		int bullets = GetMaxBullets(wc);

	mov	eax, DWORD PTR [esi]
	add	eax, 116				; 00000074H
	mov	DWORD PTR _c$89696[ebp], eax
	mov	ecx, DWORD PTR _c$89696[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4625 : 		int clipbullets = GetMaxClipBullets(wc);

	push	esi
	mov	edi, eax
	call	?GetMaxClipBullets@@YAHPAK@Z		; GetMaxClipBullets
	add	esp, 4

; 4626 : 		if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81643

; 4627 : 		{
; 4628 : 			return -1;

	or	eax, -1

; 4631 : 	}
; 4632 : 	return 0;
; 4633 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81643:

; 4629 : 		}
; 4630 : 		return bullets+clipbullets;

	add	eax, edi

; 4631 : 	}
; 4632 : 	return 0;
; 4633 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81634:
	pop	edi
	xor	eax, eax
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Current_Total_Max_Bullets@@YAHPAE@Z ENDP		; Get_Current_Total_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Max_Bullets@@YAHPAEH@Z		; Get_Position_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_c$89710 = -4						; size = 4
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Max_Bullets@@YAHPAEH@Z PROC NEAR		; Get_Position_Max_Bullets, COMDAT

; 4636 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4640 : 	}
; 4641 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4642 : 	if (!o)

	test	eax, eax

; 4643 : 	{
; 4644 : 		return 0;

	je	SHORT $L81649

; 4645 : 	}
; 4646 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4647 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[ebp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81649
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81649

; 4648 : 	{
; 4649 : 		WeaponClass *wc = w->Vector[position];

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]

; 4650 : 		return GetMaxBullets(wc);

	mov	ecx, DWORD PTR [eax]
	add	ecx, 116				; 00000074H
	mov	DWORD PTR _c$89710[ebp], ecx
	mov	ecx, DWORD PTR _c$89710[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4651 : 	}
; 4652 : 	return 0;
; 4653 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81649:

; 4638 : 	{
; 4639 : 		return 0;

	xor	eax, eax

; 4651 : 	}
; 4652 : 	return 0;
; 4653 : }

	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Position_Max_Bullets@@YAHPAEH@Z ENDP		; Get_Position_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Clip_Max_Bullets@@YAHPAEH@Z	; Get_Position_Clip_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Clip_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Clip_Max_Bullets@@YAHPAEH@Z PROC NEAR	; Get_Position_Clip_Max_Bullets, COMDAT

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

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

; 4660 : 	}
; 4661 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4662 : 	if (!o)

	test	eax, eax

; 4663 : 	{
; 4664 : 		return 0;

	je	SHORT $L81661

; 4665 : 	}
; 4666 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4667 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[esp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81661
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81661

; 4668 : 	{
; 4669 : 		WeaponClass *wc = w->Vector[position];

	mov	edx, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [edx+ecx*4]

; 4670 : 		return GetMaxClipBullets(wc);

	push	ecx
	call	?GetMaxClipBullets@@YAHPAK@Z		; GetMaxClipBullets
	add	esp, 4
	pop	esi

; 4671 : 	}
; 4672 : 	return 0;
; 4673 : }

	ret	0
$L81661:

; 4658 : 	{
; 4659 : 		return 0;

	xor	eax, eax
	pop	esi

; 4671 : 	}
; 4672 : 	return 0;
; 4673 : }

	ret	0
?Get_Position_Clip_Max_Bullets@@YAHPAEH@Z ENDP		; Get_Position_Clip_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Position_Total_Max_Bullets@@YAHPAEH@Z	; Get_Position_Total_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Position_Total_Max_Bullets@@YAHPAEH@Z
_TEXT	SEGMENT
_c$89735 = -4						; size = 4
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Position_Total_Max_Bullets@@YAHPAEH@Z PROC NEAR	; Get_Position_Total_Max_Bullets, COMDAT

; 4676 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 4678 : 	{
; 4679 : 		return 0;
; 4680 : 	}
; 4681 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4682 : 	if (!o)

	test	eax, eax

; 4683 : 	{
; 4684 : 		return 0;

	je	SHORT $L81673

; 4685 : 	}
; 4686 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4687 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[ebp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L81673
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L81673

; 4688 : 	{
; 4689 : 		WeaponClass *wc = w->Vector[position];

	mov	edx, DWORD PTR [eax+8]
	mov	esi, DWORD PTR [edx+ecx*4]

; 4690 : 		int bullets = GetMaxBullets(wc);

	mov	eax, DWORD PTR [esi]
	add	eax, 116				; 00000074H
	mov	DWORD PTR _c$89735[ebp], eax
	mov	ecx, DWORD PTR _c$89735[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4691 : 		int clipbullets = GetMaxClipBullets(wc);

	push	esi
	mov	edi, eax
	call	?GetMaxClipBullets@@YAHPAK@Z		; GetMaxClipBullets
	add	esp, 4

; 4692 : 		if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81682

; 4693 : 		{
; 4694 : 			return -1;

	or	eax, -1

; 4697 : 	}
; 4698 : 	return 0;
; 4699 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81682:

; 4695 : 		}
; 4696 : 		return bullets+clipbullets;

	add	eax, edi

; 4697 : 	}
; 4698 : 	return 0;
; 4699 : }

	pop	edi
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
$L81673:
	pop	edi
	xor	eax, eax
	pop	esi
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Position_Total_Max_Bullets@@YAHPAEH@Z ENDP		; Get_Position_Total_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Max_Bullets@@YAHPAEPBD@Z			; Get_Max_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Max_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89754 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Max_Bullets@@YAHPAEPBD@Z PROC NEAR			; Get_Max_Bullets, COMDAT

; 4702 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81688
	test	esi, esi
	je	SHORT $L81688

; 4706 : 	}
; 4707 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4708 : 	if (!o)

	test	eax, eax

; 4709 : 	{
; 4710 : 		return 0;

	je	SHORT $L81688

; 4711 : 	}
; 4712 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4713 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4714 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81688
	npad	6
$L81695:

; 4715 : 	{
; 4716 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81696

; 4717 : 		{
; 4718 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89758
$L81696:

; 4714 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81695
$L81688:

; 4704 : 	{
; 4705 : 		return 0;

	xor	eax, eax

; 4722 : 			}
; 4723 : 		}
; 4724 : 	}
; 4725 : 	return 0;
; 4726 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89758:

; 4719 : 			{
; 4720 : 				WeaponClass *wc = w->Vector[i];

	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [eax+esi*4]

; 4721 : 				return GetMaxBullets(wc);

	mov	edx, DWORD PTR [ecx]
	add	edx, 116				; 00000074H
	mov	DWORD PTR _c$89754[ebp], edx
	mov	ecx, DWORD PTR _c$89754[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4722 : 			}
; 4723 : 		}
; 4724 : 	}
; 4725 : 	return 0;
; 4726 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Max_Bullets@@YAHPAEPBD@Z ENDP			; Get_Max_Bullets
_TEXT	ENDS
PUBLIC	?Get_Max_Clip_Bullets@@YAHPAEPBD@Z		; Get_Max_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Max_Clip_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89778 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Max_Clip_Bullets@@YAHPAEPBD@Z PROC NEAR		; Get_Max_Clip_Bullets, COMDAT

; 4729 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81707
	test	esi, esi
	je	SHORT $L81707

; 4733 : 	}
; 4734 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4735 : 	if (!o)

	test	eax, eax

; 4736 : 	{
; 4737 : 		return 0;

	je	SHORT $L81707

; 4738 : 	}
; 4739 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4740 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4741 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81707
	npad	6
$L81714:

; 4742 : 	{
; 4743 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81715

; 4744 : 		{
; 4745 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89782
$L81715:

; 4741 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81714
$L81707:

; 4731 : 	{
; 4732 : 		return 0;

	xor	eax, eax

; 4749 : 			}
; 4750 : 		}
; 4751 : 	}
; 4752 : 	return 0;
; 4753 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89782:

; 4746 : 			{
; 4747 : 				WeaponClass *wc = w->Vector[i];

	mov	eax, DWORD PTR [edi+8]
	mov	ecx, DWORD PTR [eax+esi*4]

; 4748 : 				return GetMaxClipBullets(wc);

	mov	edx, DWORD PTR [ecx]
	add	edx, 132				; 00000084H
	mov	DWORD PTR _c$89778[ebp], edx
	mov	ecx, DWORD PTR _c$89778[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4749 : 			}
; 4750 : 		}
; 4751 : 	}
; 4752 : 	return 0;
; 4753 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Max_Clip_Bullets@@YAHPAEPBD@Z ENDP			; Get_Max_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Get_Max_Total_Bullets@@YAHPAEPBD@Z		; Get_Max_Total_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Get_Max_Total_Bullets@@YAHPAEPBD@Z
_TEXT	SEGMENT
_c$89807 = -4						; size = 4
_c$89802 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Get_Max_Total_Bullets@@YAHPAEPBD@Z PROC NEAR		; Get_Max_Total_Bullets, COMDAT

; 4756 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81726
	test	esi, esi
	je	SHORT $L81726

; 4760 : 	}
; 4761 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4762 : 	if (!o)

	test	eax, eax

; 4763 : 	{
; 4764 : 		return 0;

	je	SHORT $L81726

; 4765 : 	}
; 4766 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4767 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4768 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81726
	npad	6
$L81733:

; 4769 : 	{
; 4770 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81734

; 4771 : 		{
; 4772 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[ebp]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89810
$L81734:

; 4768 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81733
$L81726:

; 4758 : 	{
; 4759 : 		return 0;

	xor	eax, eax

; 4782 : 			}
; 4783 : 		}
; 4784 : 	}
; 4785 : 	return 0;
; 4786 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L89810:

; 4773 : 			{
; 4774 : 				WeaponClass *wc = w->Vector[i];

	mov	eax, DWORD PTR [edi+8]
	mov	esi, DWORD PTR [eax+esi*4]

; 4775 : 				int bullets = GetMaxBullets(wc);

	mov	ecx, DWORD PTR [esi]
	add	ecx, 116				; 00000074H
	mov	DWORD PTR _c$89802[ebp], ecx
	mov	ecx, DWORD PTR _c$89802[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4776 : 				int clipbullets = GetMaxClipBullets(wc);

	mov	edx, DWORD PTR [esi]
	add	edx, 132				; 00000084H
	mov	edi, eax
	mov	DWORD PTR _c$89807[ebp], edx
	mov	ecx, DWORD PTR _c$89807[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int

; 4777 : 				if (clipbullets < 0)

	test	eax, eax
	jge	SHORT $L81742

; 4778 : 				{
; 4779 : 					return -1;

	or	eax, -1

; 4782 : 			}
; 4783 : 		}
; 4784 : 	}
; 4785 : 	return 0;
; 4786 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L81742:

; 4780 : 				}
; 4781 : 				return bullets+clipbullets;

	add	eax, edi

; 4782 : 			}
; 4783 : 		}
; 4784 : 	}
; 4785 : 	return 0;
; 4786 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Max_Total_Bullets@@YAHPAEPBD@Z ENDP		; Get_Max_Total_Bullets
_TEXT	ENDS
PUBLIC	?Get_Weapon_Count@@YAHPAE@Z			; Get_Weapon_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Weapon_Count@@YAHPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Weapon_Count@@YAHPAE@Z PROC NEAR			; Get_Weapon_Count, COMDAT

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

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

; 4793 : 	}
; 4794 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4795 : 	if (!o)

	test	eax, eax

; 4796 : 	{
; 4797 : 		return 0;

	je	SHORT $L81747

; 4798 : 	}
; 4799 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 4800 : 	return w->Vector.Count();

	mov	ecx, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [ecx+20]
	pop	esi

; 4801 : }

	ret	0
$L81747:

; 4791 : 	{
; 4792 : 		return 0;

	xor	eax, eax
	pop	esi

; 4801 : }

	ret	0
?Get_Weapon_Count@@YAHPAE@Z ENDP			; Get_Weapon_Count
_TEXT	ENDS
PUBLIC	?Get_Weapon@@YAPBDPAEH@Z			; Get_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Weapon@@YAPBDPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Weapon@@YAPBDPAEH@Z PROC NEAR			; Get_Weapon, COMDAT

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

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

; 4808 : 	}
; 4809 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4810 : 	if (!o)

	test	eax, eax

; 4811 : 	{
; 4812 : 		return 0;

	je	SHORT $L81757

; 4813 : 	}
; 4814 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 4815 : 	if (w->Vector[position])

	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _position$[esp]
	mov	eax, DWORD PTR [ecx+edx*4]
	test	eax, eax
	je	SHORT $L81757

; 4816 : 	{
; 4817 : 		return ((DefinitionClass *)*(w->Vector[position]))->Get_Name();

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	pop	esi
	jmp	DWORD PTR [edx+48]
$L81757:

; 4806 : 	{
; 4807 : 		return 0;

	xor	eax, eax
	pop	esi

; 4818 : 	}
; 4819 : 	return 0;
; 4820 : }

	ret	0
?Get_Weapon@@YAPBDPAEH@Z ENDP				; Get_Weapon
_TEXT	ENDS
PUBLIC	?Has_Weapon@@YA_NPAEPBD@Z			; Has_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Has_Weapon@@YA_NPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
?Has_Weapon@@YA_NPAEPBD@Z PROC NEAR			; Has_Weapon, COMDAT

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

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

; 4827 : 	}
; 4828 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 4829 : 	if (!o)

	test	eax, eax

; 4830 : 	{
; 4831 : 		return false;

	je	SHORT $L81769
	push	ebx
	push	ebp
	push	edi

; 4832 : 	}
; 4833 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 4834 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 4835 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81778
	mov	ebp, DWORD PTR _weapon$[esp+12]
	npad	4
$L81776:

; 4836 : 	{
; 4837 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L81777

; 4838 : 		{
; 4839 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	push	ebp
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89842
$L81777:

; 4835 : 	for (int i = 0;i < x;i++)

	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81776
$L81778:
	pop	edi
	pop	ebp
	pop	ebx

; 4842 : 			}
; 4843 : 		}
; 4844 : 	}
; 4845 : 	return false;

	xor	al, al
	pop	esi

; 4846 : }

	ret	0
$L89842:
	pop	edi
	pop	ebp
	pop	ebx

; 4840 : 			{
; 4841 : 				return true;

	mov	al, 1
	pop	esi

; 4846 : }

	ret	0
$L81769:

; 4825 : 	{
; 4826 : 		return false;

	xor	al, al
	pop	esi

; 4846 : }

	ret	0
?Has_Weapon@@YA_NPAEPBD@Z ENDP				; Has_Weapon
_TEXT	ENDS
PUBLIC	?Force_Occupant_Exit@@YAXPAEH@Z			; Force_Occupant_Exit
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T89879	DD	0ffffffffH
	DD	FLAT:$L89850
$T89877	DD	019930520H
	DD	01H
	DD	FLAT:$T89879
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Force_Occupant_Exit@@YAXPAEH@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_seat$ = 12						; size = 4
?Force_Occupant_Exit@@YAXPAEH@Z PROC NEAR		; Force_Occupant_Exit, COMDAT

; 4920 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Force_Occupant_Exit@@YAXPAEH@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

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

; 4922 : 	{
; 4923 : 		return;
; 4924 : 	}
; 4925 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4926 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	dl, BYTE PTR [esi+2488]
	mov	ecx, DWORD PTR [esi+2480]
	mov	eax, DWORD PTR [esi+2484]
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	dl, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], ecx
	mov	DWORD PTR _occupants$[ebp+8], eax
	mov	BYTE PTR _occupants$[ebp+13], dl

; 4927 : 	if (seat >= occupants.Length())

	mov	edx, DWORD PTR _seat$[ebp]
	cmp	edx, eax
	mov	DWORD PTR __$EHRec$[ebp+8], 0
	jge	SHORT $L81815

; 4928 : 	{
; 4929 : 		return;
; 4930 : 	}
; 4931 : 	if (occupants[seat])

	mov	eax, DWORD PTR [ecx+edx*4]
	test	eax, eax
	je	SHORT $L81815

; 4932 : 	{
; 4933 : 		Check_Transitions(occupants[seat],true);

	push	1
	push	eax
	call	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA ; Check_Transitions
	add	esp, 8
$L81815:

; 4934 : 	}
; 4935 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L89850:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Force_Occupant_Exit@@YAXPAEH@Z:
	mov	eax, OFFSET FLAT:$T89877
	jmp	___CxxFrameHandler
text$x	ENDS
?Force_Occupant_Exit@@YAXPAEH@Z ENDP			; Force_Occupant_Exit
PUBLIC	?Force_Occupants_Exit@@YAXPAE@Z			; Force_Occupants_Exit
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T89912	DD	0ffffffffH
	DD	FLAT:$L89884
$T89907	DD	019930520H
	DD	01H
	DD	FLAT:$T89912
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Force_Occupants_Exit@@YAXPAE@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
?Force_Occupants_Exit@@YAXPAE@Z PROC NEAR		; Force_Occupants_Exit, COMDAT

; 4938 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Force_Occupants_Exit@@YAXPAE@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

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

; 4940 : 	{
; 4941 : 		return;
; 4942 : 	}
; 4943 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 4944 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edi, DWORD PTR [esi+2480]
	mov	ebx, DWORD PTR [esi+2484]
	mov	dl, BYTE PTR [esi+2488]
	mov	al, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], edi
	mov	DWORD PTR _occupants$[ebp+8], ebx
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	BYTE PTR _occupants$[ebp+13], al
	xor	esi, esi

; 4945 : 	int x = occupants.Length();
; 4946 : 	for (int i = 0;i < x;i++)

	cmp	ebx, esi
	mov	DWORD PTR __$EHRec$[ebp+8], esi
	jle	SHORT $L81830
$L81828:

; 4947 : 	{
; 4948 : 		if (occupants[i])

	mov	eax, DWORD PTR [edi+esi*4]
	test	eax, eax
	je	SHORT $L81829

; 4949 : 		{
; 4950 : 			Check_Transitions(occupants[i],true);

	push	1
	push	eax
	call	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA ; Check_Transitions
	add	esp, 8
$L81829:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81828
$L81830:

; 4951 : 		}
; 4952 : 	}
; 4953 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L89884:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Force_Occupants_Exit@@YAXPAE@Z:
	mov	eax, OFFSET FLAT:$T89907
	jmp	___CxxFrameHandler
text$x	ENDS
?Force_Occupants_Exit@@YAXPAE@Z ENDP			; Force_Occupants_Exit
PUBLIC	?Is_Script_Attached@@YA_NPAEPBD@Z		; Is_Script_Attached
; Function compile flags: /Ogty
;	COMDAT ?Is_Script_Attached@@YA_NPAEPBD@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_script$ = 12						; size = 4
?Is_Script_Attached@@YA_NPAEPBD@Z PROC NEAR		; Is_Script_Attached, COMDAT

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

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	mov	edi, DWORD PTR _obj$[esp]
	push	edi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L81897
	test	edi, edi
	je	SHORT $L81897
	push	ebx

; 5057 : 	}
; 5058 : 	void *ptr = (void *)(obj+0x6EC);
; 5059 : 	SimpleDynVecClass<GameObjObserverClass *> *observers = (SimpleDynVecClass<GameObjObserverClass *>*)ptr;
; 5060 : 	int x = observers->Count();

	mov	ebx, DWORD PTR [edi+1784]
	push	ebp
	push	esi

; 5061 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L81906
	mov	ebp, DWORD PTR _script$[esp+12]
	npad	4
$L81904:

; 5062 : 	{
; 5063 : 		if (!stricmp((*observers)[i]->Get_Name(),script))

	mov	ecx, DWORD PTR [edi+1776]
	mov	ecx, DWORD PTR [ecx+esi*4]
	mov	edx, DWORD PTR [ecx]
	push	ebp
	call	DWORD PTR [edx+4]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L89924
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L81904
$L81906:
	pop	esi
	pop	ebp
	pop	ebx

; 5066 : 		}
; 5067 : 	}
; 5068 : 	return false;

	xor	al, al
	pop	edi

; 5069 : }

	ret	0
$L89924:
	pop	esi
	pop	ebp
	pop	ebx

; 5064 : 		{
; 5065 : 			return true;

	mov	al, 1
	pop	edi

; 5069 : }

	ret	0
$L81897:

; 5055 : 	{
; 5056 : 		return false;

	xor	al, al
	pop	edi

; 5069 : }

	ret	0
?Is_Script_Attached@@YA_NPAEPBD@Z ENDP			; Is_Script_Attached
_TEXT	ENDS
PUBLIC	?Attach_Script_Once@@YAXPAEPBD1@Z		; Attach_Script_Once
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Once@@YAXPAEPBD1@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_script$ = 12						; size = 4
_params$ = 16						; size = 4
?Attach_Script_Once@@YAXPAEPBD1@Z PROC NEAR		; Attach_Script_Once, COMDAT

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

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

; 5074 : 	{
; 5075 : 		return;
; 5076 : 	}
; 5077 : 	if (!Is_Script_Attached(obj,script))

	mov	edi, DWORD PTR _script$[esp+4]
	push	edi
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L89932

; 5078 : 	{
; 5079 : 		Commands->Attach_Script(obj,script,params);

	mov	ecx, DWORD PTR _params$[esp+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	edi
	push	esi
	call	DWORD PTR [edx+120]
	add	esp, 12					; 0000000cH
$L89932:
	pop	edi
$L81915:
	pop	esi

; 5080 : 	}
; 5081 : }

	ret	0
?Attach_Script_Once@@YAXPAEPBD1@Z ENDP			; Attach_Script_Once
_TEXT	ENDS
PUBLIC	?Attach_Script_Preset_Once@@YAXPBD00H@Z		; Attach_Script_Preset_Once
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Preset_Once@@YAXPBD00H@Z
_TEXT	SEGMENT
_o$81926 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_preset$ = 16						; size = 4
_team$ = 20						; size = 4
?Attach_Script_Preset_Once@@YAXPBD00H@Z PROC NEAR	; Attach_Script_Preset_Once, COMDAT

; 5084 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 5086 : 	while (x)

	test	edi, edi
	je	$L81925
$L81924:

; 5087 : 	{
; 5088 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5089 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81926[ebp], esi
	je	$L81933
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81933
	mov	ecx, DWORD PTR _o$81926[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L81933

; 5090 : 		{
; 5091 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89946
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L89944
$L89946:
	xor	ecx, ecx
$L89944:

; 5092 : 			if (!stricmp(d->Get_Name(),preset))

	mov	eax, DWORD PTR _preset$[ebp]
	mov	edx, DWORD PTR [ecx]
	push	eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L81933

; 5093 : 			{
; 5094 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89956
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89956
	mov	ecx, DWORD PTR _o$81926[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L89956
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L89954
$L89956:
	xor	eax, eax
$L89954:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81932
	cmp	ecx, 2
	jne	SHORT $L81933
$L81932:

; 5095 : 				{
; 5096 : 					if (!Is_Script_Attached(o,script))

	mov	ebx, DWORD PTR _script$[ebp]
	push	ebx
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L81933

; 5097 : 					{
; 5098 : 						Commands->Attach_Script(o,script,params);

	mov	edx, DWORD PTR _params$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	ebx
	push	esi
	call	DWORD PTR [eax+120]
	add	esp, 12					; 0000000cH
$L81933:

; 5099 : 					}
; 5100 : 				}
; 5101 : 			}
; 5102 : 		}
; 5103 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81924
$L81925:

; 5104 : 	}
; 5105 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Preset_Once@@YAXPBD00H@Z ENDP		; Attach_Script_Preset_Once
_TEXT	ENDS
PUBLIC	?Attach_Script_Type_Once@@YAXPBD0KH@Z		; Attach_Script_Type_Once
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Type_Once@@YAXPBD0KH@Z
_TEXT	SEGMENT
_o$81944 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_type$ = 16						; size = 4
_team$ = 20						; size = 4
?Attach_Script_Type_Once@@YAXPBD0KH@Z PROC NEAR		; Attach_Script_Type_Once, COMDAT

; 5108 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 5110 : 	while (x)

	test	edi, edi
	je	$L81943
$L81942:

; 5111 : 	{
; 5112 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5113 : 		if (o && As_ScriptableGameObj(o))

	test	esi, esi
	mov	DWORD PTR _o$81944[ebp], esi
	je	$L81951
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L81951
	mov	ecx, DWORD PTR _o$81944[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	test	eax, eax
	je	$L81951

; 5114 : 		{
; 5115 : 			DefinitionClass *d = Get_Definition(o);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89982
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L89980
$L89982:
	xor	ecx, ecx
$L89980:

; 5116 : 			if (d->Get_Class_ID() == type)

	mov	eax, DWORD PTR [ecx]
	call	DWORD PTR [eax+32]
	cmp	eax, DWORD PTR _type$[ebp]
	jne	SHORT $L81951

; 5117 : 			{
; 5118 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89993
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L89993
	mov	ecx, DWORD PTR _o$81944[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L89993
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L89991
$L89993:
	xor	eax, eax
$L89991:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81950
	cmp	ecx, 2
	jne	SHORT $L81951
$L81950:

; 5119 : 				{
; 5120 : 					if (!Is_Script_Attached(o,script))

	mov	ebx, DWORD PTR _script$[ebp]
	push	ebx
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L81951

; 5121 : 					{
; 5122 : 						Commands->Attach_Script(o,script,params);

	mov	eax, DWORD PTR _params$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ebx
	push	esi
	call	DWORD PTR [ecx+120]
	add	esp, 12					; 0000000cH
$L81951:

; 5123 : 					}
; 5124 : 				}
; 5125 : 			}
; 5126 : 		}
; 5127 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81942
$L81943:

; 5128 : 	}
; 5129 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Type_Once@@YAXPBD0KH@Z ENDP		; Attach_Script_Type_Once
_TEXT	ENDS
PUBLIC	?Attach_Script_Player_Once@@YAXPBD0H@Z		; Attach_Script_Player_Once
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_Player_Once@@YAXPBD0H@Z
_TEXT	SEGMENT
_o$81961 = -4						; size = 4
_script$ = 8						; size = 4
_params$ = 12						; size = 4
_team$ = 16						; size = 4
?Attach_Script_Player_Once@@YAXPBD0H@Z PROC NEAR	; Attach_Script_Player_Once, COMDAT

; 5132 : {

	push	ebp
	mov	ebp, esp
	push	ecx

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

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

; 5134 : 	while (x)

	test	edi, edi
	je	$L81960
$L81959:

; 5135 : 	{
; 5136 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 5137 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$81961[ebp], esi
	je	$L81968

; 5138 : 		{
; 5139 : 			DefinitionClass *d = Get_Definition(o);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90013
	mov	ecx, DWORD PTR [esi+1724]
	jmp	SHORT $L90011
$L90013:
	xor	ecx, ecx
$L90011:

; 5140 : 			if (d->Get_Class_ID() == Soldier)

	mov	edx, DWORD PTR [ecx]
	call	DWORD PTR [edx+32]
	cmp	eax, 12289				; 00003001H
	jne	SHORT $L81968

; 5141 : 			{
; 5142 : 				if ((Get_Object_Type(o) == team) || (team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90024
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90024
	mov	ecx, DWORD PTR _o$81961[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L90024
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L90022
$L90024:
	xor	eax, eax
$L90022:
	mov	ecx, DWORD PTR _team$[ebp]
	cmp	eax, ecx
	je	SHORT $L81967
	cmp	ecx, 2
	jne	SHORT $L81968
$L81967:

; 5143 : 				{
; 5144 : 					if (!Is_Script_Attached(o,script))

	mov	ebx, DWORD PTR _script$[ebp]
	push	ebx
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L81968

; 5145 : 					{
; 5146 : 						Commands->Attach_Script(o,script,params);

	mov	edx, DWORD PTR _params$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	ebx
	push	esi
	call	DWORD PTR [eax+120]
	add	esp, 12					; 0000000cH
$L81968:

; 5147 : 					}
; 5148 : 				}
; 5149 : 			}
; 5150 : 		}
; 5151 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L81959
$L81960:

; 5152 : 	}
; 5153 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_Player_Once@@YAXPBD0H@Z ENDP		; Attach_Script_Player_Once
_TEXT	ENDS
PUBLIC	??_C@_05PGGAFPFO@Death?$AA@			; `string'
PUBLIC	?Kill_Occupants@@YAXPAE@Z			; Kill_Occupants
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T90068	DD	0ffffffffH
	DD	FLAT:$L90040
$T90063	DD	019930520H
	DD	01H
	DD	FLAT:$T90068
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_C@_05PGGAFPFO@Death?$AA@
CONST	SEGMENT
??_C@_05PGGAFPFO@Death?$AA@ DB 'Death', 00H		; `string'
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
CONST	ENDS
;	COMDAT ?Kill_Occupants@@YAXPAE@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
?Kill_Occupants@@YAXPAE@Z PROC NEAR			; Kill_Occupants, COMDAT

; 5357 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Kill_Occupants@@YAXPAE@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

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

; 5359 : 	{
; 5360 : 		return;
; 5361 : 	}
; 5362 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 5363 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edi, DWORD PTR [esi+2480]
	mov	ebx, DWORD PTR [esi+2484]
	mov	dl, BYTE PTR [esi+2488]
	mov	al, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], edi
	mov	DWORD PTR _occupants$[ebp+8], ebx
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	BYTE PTR _occupants$[ebp+13], al
	xor	esi, esi

; 5364 : 	int x = occupants.Length();
; 5365 : 	for (int i = 0;i < x;i++)

	cmp	ebx, esi
	mov	DWORD PTR __$EHRec$[ebp+8], esi
	jle	SHORT $L82129
$L82127:

; 5366 : 	{
; 5367 : 		if (occupants[i])

	mov	eax, DWORD PTR [edi+esi*4]
	test	eax, eax
	je	SHORT $L82128

; 5368 : 		{
; 5369 : 			Commands->Apply_Damage(occupants[i],100,"Death",0);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_05PGGAFPFO@Death?$AA@
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+616]
	add	esp, 16					; 00000010H
$L82128:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L82127
$L82129:

; 5370 : 		}
; 5371 : 	}
; 5372 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L90040:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Kill_Occupants@@YAXPAE@Z:
	mov	eax, OFFSET FLAT:$T90063
	jmp	___CxxFrameHandler
text$x	ENDS
?Kill_Occupants@@YAXPAE@Z ENDP				; Kill_Occupants
PUBLIC	?Get_Vehicle_Seat_Count@@YAHPAEH@Z		; Get_Vehicle_Seat_Count
; Function compile flags: /Ogty
;	COMDAT ?Get_Vehicle_Seat_Count@@YAHPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_seat$ = 12						; size = 4
?Get_Vehicle_Seat_Count@@YAHPAEH@Z PROC NEAR		; Get_Vehicle_Seat_Count, COMDAT

; 5580 : {

	push	ebp
	mov	ebp, esp

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

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

; 5582 : 	{
; 5583 : 		return 0;
; 5584 : 	}
; 5585 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 5586 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;
; 5587 : 	return occupants.Length();

	mov	eax, DWORD PTR [esi+2484]

; 5588 : }

	pop	esi
	pop	ebx
	pop	ebp
	ret	0
$L82224:
	pop	esi
	xor	eax, eax
	pop	ebx
	pop	ebp
	ret	0
?Get_Vehicle_Seat_Count@@YAHPAEH@Z ENDP			; Get_Vehicle_Seat_Count
_TEXT	ENDS
PUBLIC	?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z ; Get_Current_Wide_Translated_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z PROC NEAR ; Get_Current_Wide_Translated_Weapon, COMDAT

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

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

; 6210 : 	}
; 6211 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6212 : 	if (!o)

	test	eax, eax

; 6213 : 	{
; 6214 : 		return 0;

	je	SHORT $L82486

; 6215 : 	}
; 6216 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 6217 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L82486
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L82486

; 6218 : 	{
; 6219 : 		DefinitionClass *d = (DefinitionClass *)*(w->Vector[w->current]);

	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+ecx*4]

; 6220 : 		char *c = (char *)d;
; 6221 : 		c += 0x88;
; 6222 : 		unsigned long ID = *(unsigned long *)c;

	mov	ecx, DWORD PTR [eax]
	mov	eax, DWORD PTR [ecx+136]
	pop	esi

; 6223 : 		return Get_Wide_Translated_String(ID);

	mov	DWORD PTR _obj$[esp-4], eax
	jmp	?Get_Wide_Translated_String@@YAPB_WK@Z	; Get_Wide_Translated_String
$L82486:

; 6208 : 	{
; 6209 : 		return 0;

	xor	eax, eax
	pop	esi

; 6224 : 	}
; 6225 : 	return 0;
; 6226 : }

	ret	0
?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z ENDP	; Get_Current_Wide_Translated_Weapon
_TEXT	ENDS
PUBLIC	?Get_Current_Translated_Weapon@@YAPBDPAE@Z	; Get_Current_Translated_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Current_Translated_Weapon@@YAPBDPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Get_Current_Translated_Weapon@@YAPBDPAE@Z PROC NEAR	; Get_Current_Translated_Weapon, COMDAT

; 6230 : 	return WideCharToChar(Get_Current_Wide_Translated_Weapon(obj));

	mov	eax, DWORD PTR _obj$[esp-4]
	push	ebx
	push	esi
	push	edi
	push	eax
	call	?Get_Current_Wide_Translated_Weapon@@YAPB_WPAE@Z ; Get_Current_Wide_Translated_Weapon
	mov	ebx, eax
	push	ebx
	call	_wcslen
	mov	esi, eax
	mov	eax, DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	add	esp, 8
	test	eax, eax
	jne	SHORT $L90116
	call	_Init
$L90116:
	inc	esi
	push	esi
	call	DWORD PTR ?RenVecNew@@3P6APAXK@ZA	; RenVecNew
	push	esi
	mov	edi, eax
	push	ebx
	push	edi
	call	_wcstombs
	add	esp, 16					; 00000010H
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebx

; 6231 : }

	ret	0
?Get_Current_Translated_Weapon@@YAPBDPAE@Z ENDP		; Get_Current_Translated_Weapon
_TEXT	ENDS
PUBLIC	?Get_Translated_Weapon@@YAPBDPAEH@Z		; Get_Translated_Weapon
; Function compile flags: /Ogty
;	COMDAT ?Get_Translated_Weapon@@YAPBDPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
?Get_Translated_Weapon@@YAPBDPAEH@Z PROC NEAR		; Get_Translated_Weapon, COMDAT

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

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

; 6238 : 	}
; 6239 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6240 : 	if (!o)

	test	eax, eax

; 6241 : 	{
; 6242 : 		return 0;

	je	SHORT $L82506

; 6243 : 	}
; 6244 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 6245 : 	if (w->Vector[position])

	mov	ecx, DWORD PTR [eax+8]
	mov	edx, DWORD PTR _position$[esp]
	mov	eax, DWORD PTR [ecx+edx*4]
	test	eax, eax
	je	SHORT $L82506

; 6246 : 	{
; 6247 : 		DefinitionClass *d = (DefinitionClass *)*(w->Vector[position]);
; 6248 : 		char *c = (char *)d;
; 6249 : 		c += 0x88;
; 6250 : 		unsigned long ID = *(unsigned long *)c;

	mov	eax, DWORD PTR [eax]
	mov	eax, DWORD PTR [eax+136]

; 6251 : 		return Get_Translated_String(ID);

	push	eax
	call	?Get_Translated_String@@YAPBDK@Z	; Get_Translated_String
	add	esp, 4
	pop	esi

; 6252 : 	}
; 6253 : 	return 0;
; 6254 : }

	ret	0
$L82506:

; 6236 : 	{
; 6237 : 		return 0;

	xor	eax, eax
	pop	esi

; 6252 : 	}
; 6253 : 	return 0;
; 6254 : }

	ret	0
?Get_Translated_Weapon@@YAPBDPAEH@Z ENDP		; Get_Translated_Weapon
_TEXT	ENDS
PUBLIC	?Attach_Script_All_Buildings_Team@@YAXHPBD0_N@Z	; Attach_Script_All_Buildings_Team
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_All_Buildings_Team@@YAXHPBD0_N@Z
_TEXT	SEGMENT
$T90137 = -8						; size = 4
_o$82554 = -8						; size = 4
_x$ = -4						; size = 4
_Team$ = 8						; size = 4
_Script$ = 12						; size = 4
_Params$ = 16						; size = 4
_Once$ = 20						; size = 1
?Attach_Script_All_Buildings_Team@@YAXHPBD0_N@Z PROC NEAR ; Attach_Script_All_Buildings_Team, COMDAT

; 6295 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 6296 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

	mov	eax, DWORD PTR ?BuildingGameObjList@@3PAV?$SList@E@@A ; BuildingGameObjList
	mov	eax, DWORD PTR [eax+4]

; 6297 : 	while (x)

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82553
	mov	edi, DWORD PTR _Script$[ebp]
	npad	1
$L82552:

; 6298 : 	{
; 6299 : 		GameObject *o = As_BuildingGameObj((GameObject *)x->NodeData);

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T90137[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82560
	test	esi, esi
	je	$L82560
	mov	ecx, DWORD PTR $T90137[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	mov	esi, eax

; 6300 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$82554[ebp], esi
	je	$L82560

; 6301 : 		{
; 6302 : 			if (Get_Object_Type(o) == Team || Team == 2)

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90151
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90151
	mov	ecx, DWORD PTR _o$82554[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L90151
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L90149
$L90151:
	xor	eax, eax
$L90149:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L82558
	cmp	ecx, 2
	jne	SHORT $L82560
$L82558:

; 6303 : 			{
; 6304 : 				if (Once)

	mov	al, BYTE PTR _Once$[ebp]
	test	al, al
	je	SHORT $L82559

; 6305 : 				{
; 6306 : 					Attach_Script_Once(o,Script,Params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82560
	push	edi
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L82560
	mov	eax, DWORD PTR _Params$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	push	esi
	call	DWORD PTR [ecx+120]

; 6307 : 				}
; 6308 : 				else

	jmp	SHORT $L90168
$L82559:

; 6309 : 				{
; 6310 : 					Commands->Attach_Script(o,Script,Params);

	mov	edx, DWORD PTR _Params$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	edi
	push	esi
	call	DWORD PTR [eax+120]
$L90168:
	add	esp, 12					; 0000000cH
$L82560:

; 6311 : 				}
; 6312 : 			}
; 6313 : 		}
; 6314 : 		x = x->NodeNext;

	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [ecx]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82552
$L82553:

; 6315 : 	}
; 6316 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_All_Buildings_Team@@YAXHPBD0_N@Z ENDP	; Attach_Script_All_Buildings_Team
_TEXT	ENDS
PUBLIC	?Attach_Script_All_Turrets_Team@@YAXHPBD0_N@Z	; Attach_Script_All_Turrets_Team
; Function compile flags: /Ogty
;	COMDAT ?Attach_Script_All_Turrets_Team@@YAXHPBD0_N@Z
_TEXT	SEGMENT
$T90176 = -8						; size = 4
_o$82571 = -8						; size = 4
_x$ = -4						; size = 4
_Team$ = 8						; size = 4
_Script$ = 12						; size = 4
_Params$ = 16						; size = 4
_Once$ = 20						; size = 1
?Attach_Script_All_Turrets_Team@@YAXHPBD0_N@Z PROC NEAR	; Attach_Script_All_Turrets_Team, COMDAT

; 6319 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 6321 : 	while (x)

	test	eax, eax
	push	ebx
	push	esi
	push	edi
	mov	DWORD PTR _x$[ebp], eax
	je	$L82570
	mov	edi, DWORD PTR _Script$[ebp]
	npad	1
$L82569:

; 6322 : 	{
; 6323 : 		GameObject *o = As_VehicleGameObj((GameObject *)x->NodeData);

	mov	ecx, DWORD PTR _x$[ebp]
	mov	esi, DWORD PTR [ecx+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T90176[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	$L82577
	test	esi, esi
	je	$L82577
	mov	ecx, DWORD PTR $T90176[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+40]
	call	eax
	mov	esi, eax

; 6324 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$82571[ebp], esi
	je	$L82577

; 6325 : 		{
; 6326 : 			if (Is_DecorationPhys(o) && (Get_Object_Type(o) == Team || Team == 2))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	$L82577
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L82577
	mov	ecx, DWORD PTR _o$82571[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	je	$L82577
	push	eax
	call	?Get_Phys_Definition@@YAPAVDefinitionClass@@PAE@Z ; Get_Phys_Definition
	mov	edx, DWORD PTR [eax]
	add	esp, 4
	mov	ecx, eax
	call	DWORD PTR [edx+32]
	cmp	eax, 36864				; 00009000H
	jne	$L82577
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90209
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90209
	mov	ecx, DWORD PTR _o$82571[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L90209
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L90207
$L90209:
	xor	eax, eax
$L90207:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L82575
	cmp	ecx, 2
	jne	SHORT $L82577
$L82575:

; 6327 : 			{
; 6328 : 				if (Once)

	mov	al, BYTE PTR _Once$[ebp]
	test	al, al
	je	SHORT $L82576

; 6329 : 				{
; 6330 : 					Attach_Script_Once(o,Script,Params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82577
	push	edi
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L82577
	mov	eax, DWORD PTR _Params$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	push	esi
	call	DWORD PTR [ecx+120]

; 6331 : 				}
; 6332 : 				else

	jmp	SHORT $L90228
$L82576:

; 6333 : 				{
; 6334 : 					Commands->Attach_Script(o,Script,Params);

	mov	edx, DWORD PTR _Params$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	push	edi
	push	esi
	call	DWORD PTR [eax+120]
$L90228:
	add	esp, 12					; 0000000cH
$L82577:

; 6335 : 				}
; 6336 : 			}
; 6337 : 		}
; 6338 : 		x = x->NodeNext;

	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [ecx]
	test	eax, eax
	mov	DWORD PTR _x$[ebp], eax
	jne	$L82569
$L82570:

; 6339 : 	}
; 6340 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Attach_Script_All_Turrets_Team@@YAXHPBD0_N@Z ENDP	; Attach_Script_All_Turrets_Team
_TEXT	ENDS
PUBLIC	?Get_Part_Name@@YAPAEPBD@Z			; Get_Part_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_Part_Name@@YAPAEPBD@Z
_TEXT	SEGMENT
$T90237 = -12						; size = 4
_current$ = -8						; size = 4
_count$ = -4						; size = 4
_name1$ = 8						; size = 4
?Get_Part_Name@@YAPAEPBD@Z PROC NEAR			; Get_Part_Name, COMDAT

; 6366 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 12					; 0000000cH

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

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

; 6368 : 	int count = 0;
; 6369 : 	GameObject *current = 0;
; 6370 : 	while (x)

	test	edi, edi
	mov	DWORD PTR _count$[ebp], 0
	mov	DWORD PTR _current$[ebp], 0
	je	$L82610
	npad	9
$L82602:

; 6371 : 	{
; 6372 : 		GameObject *o = As_SoldierGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T90237[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90240
	test	esi, esi
	je	SHORT $L90240
	mov	ecx, DWORD PTR $T90237[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax
	mov	esi, eax

; 6373 : 		if (o)

	test	esi, esi
	je	SHORT $L90240

; 6374 : 		{
; 6375 : 			const char *name = Get_Player_Name(o);

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

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

	mov	edx, DWORD PTR _name1$[ebp]
	mov	ebx, eax
	push	edx
	push	ebx
	call	?stristr@@YAPADPBD0@Z			; stristr
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $L82608

; 6377 : 			{
; 6378 : 				current = o;
; 6379 : 				count++;

	mov	eax, DWORD PTR _count$[ebp]
	inc	eax
	mov	DWORD PTR _current$[ebp], esi
	mov	DWORD PTR _count$[ebp], eax
$L82608:

; 6380 : 			}
; 6381 : 			delete name;

	push	ebx
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
$L90240:

; 6382 : 		}
; 6383 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L82602

; 6384 : 	}
; 6385 : 	if ((count == 1) && (current) && (Commands->Get_ID(current)))

	cmp	DWORD PTR _count$[ebp], 1
	jne	SHORT $L82610
	mov	esi, DWORD PTR _current$[ebp]
	test	esi, esi
	je	SHORT $L82610
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82610

; 6386 : 	{
; 6387 : 		return current;

	mov	eax, esi

; 6388 : 	}
; 6389 : 	else
; 6390 : 	{
; 6391 : 		return 0;
; 6392 : 	}
; 6393 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L82610:
	pop	edi
	pop	esi
	xor	eax, eax
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Part_Name@@YAPAEPBD@Z ENDP				; Get_Part_Name
_TEXT	ENDS
PUBLIC	?Get_Part_Names@@YAHPBD@Z			; Get_Part_Names
; Function compile flags: /Ogty
;	COMDAT ?Get_Part_Names@@YAHPBD@Z
_TEXT	SEGMENT
$T90251 = -8						; size = 4
_count$ = -4						; size = 4
_name1$ = 8						; size = 4
?Get_Part_Names@@YAHPBD@Z PROC NEAR			; Get_Part_Names, COMDAT

; 6396 : {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

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

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

; 6398 : 	int count = 0;

	xor	eax, eax

; 6399 : 	while (x)

	test	esi, esi
	push	edi
	mov	DWORD PTR _count$[ebp], eax
	je	SHORT $L82619
	mov	edi, DWORD PTR _name1$[ebp]
	npad	3
$L82618:

; 6400 : 	{
; 6401 : 		GameObject *o = As_SoldierGameObj((GameObject *)x->NodeData);

	mov	ebx, DWORD PTR [esi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR $T90251[ebp], ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L82624
	test	ebx, ebx
	je	SHORT $L82624
	mov	ecx, DWORD PTR $T90251[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+68]
	call	eax

; 6402 : 		if (o)

	test	eax, eax
	je	SHORT $L82624

; 6403 : 		{
; 6404 : 			const char *name = Get_Player_Name(o);

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

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

	push	edi
	push	eax
	call	?stristr@@YAPADPBD0@Z			; stristr
	add	esp, 12					; 0000000cH
	test	eax, eax
	jne	SHORT $L82624

; 6406 : 			{
; 6407 : 				count++;

	inc	DWORD PTR _count$[ebp]
$L82624:

; 6408 : 			}
; 6409 : 		}
; 6410 : 		x = x->NodeNext;

	mov	esi, DWORD PTR [esi]
	test	esi, esi
	jne	SHORT $L82618

; 6411 : 	}
; 6412 : 	return count;

	mov	eax, DWORD PTR _count$[ebp]
$L82619:

; 6413 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Get_Part_Names@@YAHPBD@Z ENDP				; Get_Part_Names
_TEXT	ENDS
PUBLIC	?Damage_Occupants@@YAXPAEMPBD@Z			; Damage_Occupants
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T90286	DD	0ffffffffH
	DD	FLAT:$L90258
$T90281	DD	019930520H
	DD	01H
	DD	FLAT:$T90286
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Damage_Occupants@@YAXPAEMPBD@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_Damage$ = 12						; size = 4
_Warhead$ = 16						; size = 4
?Damage_Occupants@@YAXPAEMPBD@Z PROC NEAR		; Damage_Occupants, COMDAT

; 6702 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Damage_Occupants@@YAXPAEMPBD@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

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

; 6704 : 	{
; 6705 : 		return;
; 6706 : 	}
; 6707 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 6708 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edi, DWORD PTR [esi+2480]
	mov	ebx, DWORD PTR [esi+2484]
	mov	dl, BYTE PTR [esi+2488]
	mov	al, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], edi
	mov	DWORD PTR _occupants$[ebp+8], ebx
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	BYTE PTR _occupants$[ebp+13], al
	xor	esi, esi

; 6709 : 	int x = occupants.Length();
; 6710 : 	for (int i = 0;i < x;i++)

	cmp	ebx, esi
	mov	DWORD PTR __$EHRec$[ebp+8], esi
	jle	SHORT $L82801
$L82799:

; 6711 : 	{
; 6712 : 		if (occupants[i])

	mov	eax, DWORD PTR [edi+esi*4]
	test	eax, eax
	je	SHORT $L82800

; 6713 : 		{
; 6714 : 			Commands->Apply_Damage(occupants[i],Damage,Warhead,0);

	mov	ecx, DWORD PTR _Warhead$[ebp]
	mov	edx, DWORD PTR _Damage$[ebp]
	push	0
	push	ecx
	push	edx
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [eax+616]
	add	esp, 16					; 00000010H
$L82800:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L82799
$L82801:

; 6715 : 		}
; 6716 : 	}
; 6717 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L90258:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Damage_Occupants@@YAXPAEMPBD@Z:
	mov	eax, OFFSET FLAT:$T90281
	jmp	___CxxFrameHandler
text$x	ENDS
?Damage_Occupants@@YAXPAEMPBD@Z ENDP			; Damage_Occupants
PUBLIC	?Set_Current_Bullets@@YAXPAEH@Z			; Set_Current_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Current_Bullets@@YAXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_bullets$ = 12						; size = 4
?Set_Current_Bullets@@YAXPAEH@Z PROC NEAR		; Set_Current_Bullets, COMDAT

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

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

; 6786 : 	{
; 6787 : 		return;
; 6788 : 	}
; 6789 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6790 : 	if (!o)

	test	eax, eax
	je	SHORT $L82849

; 6791 : 	{
; 6792 : 		return;
; 6793 : 	}
; 6794 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 6795 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L82849
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L82849
	pop	esi

; 6796 : 	{
; 6797 : 		WeaponClass *wc = w->Vector[w->current];
; 6798 : 		SetBullets(wc,bullets);

	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [eax+ecx*4]
	mov	DWORD PTR _obj$[esp-4], ecx
	jmp	?SetBullets@@YAXPAKH@Z			; SetBullets
$L82849:
	pop	esi

; 6799 : 	}
; 6800 : }

	ret	0
?Set_Current_Bullets@@YAXPAEH@Z ENDP			; Set_Current_Bullets
_TEXT	ENDS
PUBLIC	?Set_Current_Clip_Bullets@@YAXPAEH@Z		; Set_Current_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Current_Clip_Bullets@@YAXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_bullets$ = 12						; size = 4
?Set_Current_Clip_Bullets@@YAXPAEH@Z PROC NEAR		; Set_Current_Clip_Bullets, COMDAT

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

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

; 6805 : 	{
; 6806 : 		return;
; 6807 : 	}
; 6808 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6809 : 	if (!o)

	test	eax, eax
	je	SHORT $L82861

; 6810 : 	{
; 6811 : 		return;
; 6812 : 	}
; 6813 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	eax, DWORD PTR [eax+1968]

; 6814 : 	if ((w->current) && (w->current < w->Vector.Count()))

	mov	ecx, DWORD PTR [eax+28]
	test	ecx, ecx
	je	SHORT $L82861
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L82861
	pop	esi

; 6815 : 	{
; 6816 : 		WeaponClass *wc = w->Vector[w->current];
; 6817 : 		SetClipBullets(wc,bullets);

	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [eax+ecx*4]
	mov	DWORD PTR _obj$[esp-4], ecx
	jmp	?SetClipBullets@@YAXPAKH@Z		; SetClipBullets
$L82861:
	pop	esi

; 6818 : 	}
; 6819 : }

	ret	0
?Set_Current_Clip_Bullets@@YAXPAEH@Z ENDP		; Set_Current_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Set_Position_Bullets@@YAXPAEHH@Z		; Set_Position_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Position_Bullets@@YAXPAEHH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
_bullets$ = 16						; size = 4
?Set_Position_Bullets@@YAXPAEHH@Z PROC NEAR		; Set_Position_Bullets, COMDAT

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

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

; 6824 : 	{
; 6825 : 		return;
; 6826 : 	}
; 6827 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6828 : 	if (!o)

	test	eax, eax
	je	SHORT $L82874

; 6829 : 	{
; 6830 : 		return;
; 6831 : 	}
; 6832 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 6833 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[esp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L82874
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L82874

; 6834 : 	{
; 6835 : 		WeaponClass *wc = w->Vector[position];
; 6836 : 		SetBullets(wc,bullets);

	mov	edx, DWORD PTR _bullets$[esp]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [eax+ecx*4]
	push	edx
	push	ecx
	call	?SetBullets@@YAXPAKH@Z			; SetBullets
	add	esp, 8
$L82874:
	pop	esi

; 6837 : 	}
; 6838 : }

	ret	0
?Set_Position_Bullets@@YAXPAEHH@Z ENDP			; Set_Position_Bullets
_TEXT	ENDS
PUBLIC	?Set_Position_Clip_Bullets@@YAXPAEHH@Z		; Set_Position_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Position_Clip_Bullets@@YAXPAEHH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_position$ = 12						; size = 4
_bullets$ = 16						; size = 4
?Set_Position_Clip_Bullets@@YAXPAEHH@Z PROC NEAR	; Set_Position_Clip_Bullets, COMDAT

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

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

; 6843 : 	{
; 6844 : 		return;
; 6845 : 	}
; 6846 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6847 : 	if (!o)

	test	eax, eax
	je	SHORT $L82887

; 6848 : 	{
; 6849 : 		return;
; 6850 : 	}
; 6851 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);
; 6852 : 	if ((position) && (position < w->Vector.Count()))

	mov	ecx, DWORD PTR _position$[esp]
	test	ecx, ecx
	mov	eax, DWORD PTR [eax+1968]
	je	SHORT $L82887
	cmp	ecx, DWORD PTR [eax+20]
	jge	SHORT $L82887

; 6853 : 	{
; 6854 : 		WeaponClass *wc = w->Vector[position];
; 6855 : 		SetClipBullets(wc,bullets);

	mov	edx, DWORD PTR _bullets$[esp]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR [eax+ecx*4]
	push	edx
	push	ecx
	call	?SetClipBullets@@YAXPAKH@Z		; SetClipBullets
	add	esp, 8
$L82887:
	pop	esi

; 6856 : 	}
; 6857 : }

	ret	0
?Set_Position_Clip_Bullets@@YAXPAEHH@Z ENDP		; Set_Position_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Set_Bullets@@YAXPAEPBDH@Z			; Set_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Bullets@@YAXPAEPBDH@Z
_TEXT	SEGMENT
$T90350 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
_bullets$ = 16						; size = 4
?Set_Bullets@@YAXPAEPBDH@Z PROC NEAR			; Set_Bullets, COMDAT

; 6860 : {

	push	ecx

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

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

; 6862 : 	{
; 6863 : 		return;
; 6864 : 	}
; 6865 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6866 : 	if (!o)

	test	eax, eax
	je	SHORT $L82904
	push	ebx
	push	edi

; 6867 : 	{
; 6868 : 		return;
; 6869 : 	}
; 6870 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 6871 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 6872 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L90353
	push	ebp
	mov	ebp, DWORD PTR _bullets$[esp+16]
	npad	3
$L82902:

; 6873 : 	{
; 6874 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L82903

; 6875 : 		{
; 6876 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[esp+16]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L82903

; 6877 : 			{
; 6878 : 				WeaponClass *wc = w->Vector[i];
; 6879 : 				SetBullets(wc,bullets);

	mov	ecx, DWORD PTR [edi+8]
	mov	edx, DWORD PTR [ecx+esi*4]
	lea	eax, DWORD PTR $T90350[esp+20]
	push	eax
	mov	eax, DWORD PTR [edx+36]
	push	eax
	mov	DWORD PTR $T90350[esp+28], ebp
	call	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA ; Set_Safe_Data_Int_Ref
	add	esp, 8
$L82903:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L82902
	pop	ebp
$L90353:
	pop	edi
	pop	ebx
$L82904:
	pop	esi

; 6880 : 			}
; 6881 : 		}
; 6882 : 	}
; 6883 : }

	pop	ecx
	ret	0
?Set_Bullets@@YAXPAEPBDH@Z ENDP				; Set_Bullets
_TEXT	ENDS
PUBLIC	?Set_Clip_Bullets@@YAXPAEPBDH@Z			; Set_Clip_Bullets
; Function compile flags: /Ogty
;	COMDAT ?Set_Clip_Bullets@@YAXPAEPBDH@Z
_TEXT	SEGMENT
$T90376 = -4						; size = 4
_obj$ = 8						; size = 4
_weapon$ = 12						; size = 4
_bullets$ = 16						; size = 4
?Set_Clip_Bullets@@YAXPAEPBDH@Z PROC NEAR		; Set_Clip_Bullets, COMDAT

; 6886 : {

	push	ecx

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

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

; 6888 : 	{
; 6889 : 		return;
; 6890 : 	}
; 6891 : 	GameObject *o = As_ArmedGameObj(obj);

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

; 6892 : 	if (!o)

	test	eax, eax
	je	SHORT $L82924
	push	ebx
	push	edi

; 6893 : 	{
; 6894 : 		return;
; 6895 : 	}
; 6896 : 	WeaponBagClass *w = *(WeaponBagClass **)(o+0x7B0);

	mov	edi, DWORD PTR [eax+1968]

; 6897 : 	int x = w->Vector.Count();

	mov	ebx, DWORD PTR [edi+20]

; 6898 : 	for (int i = 0;i < x;i++)

	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L90379
	push	ebp
	mov	ebp, DWORD PTR _bullets$[esp+16]
	npad	3
$L82922:

; 6899 : 	{
; 6900 : 		if (w->Vector[i])

	mov	ecx, DWORD PTR [edi+8]
	mov	eax, DWORD PTR [ecx+esi*4]
	test	eax, eax
	je	SHORT $L82923

; 6901 : 		{
; 6902 : 			if (!stricmp(((DefinitionClass *)*(w->Vector[i]))->Get_Name(),weapon))

	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR _weapon$[esp+16]
	push	edx
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L82923

; 6903 : 			{
; 6904 : 				WeaponClass *wc = w->Vector[i];
; 6905 : 				SetClipBullets(wc,bullets);

	mov	ecx, DWORD PTR [edi+8]
	mov	edx, DWORD PTR [ecx+esi*4]
	lea	eax, DWORD PTR $T90376[esp+20]
	push	eax
	mov	eax, DWORD PTR [edx+40]
	push	eax
	mov	DWORD PTR $T90376[esp+28], ebp
	call	DWORD PTR ?Set_Safe_Data_Int_Ref@@3P6AXPAXAAH@ZA ; Set_Safe_Data_Int_Ref
	add	esp, 8
$L82923:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L82922
	pop	ebp
$L90379:
	pop	edi
	pop	ebx
$L82924:
	pop	esi

; 6906 : 			}
; 6907 : 		}
; 6908 : 	}
; 6909 : }

	pop	ecx
	ret	0
?Set_Clip_Bullets@@YAXPAEPBDH@Z ENDP			; Set_Clip_Bullets
_TEXT	ENDS
PUBLIC	?Force_Occupants_Exit_Team@@YAXPAEH@Z		; Force_Occupants_Exit_Team
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T90417	DD	0ffffffffH
	DD	FLAT:$L90385
$T90411	DD	019930520H
	DD	01H
	DD	FLAT:$T90417
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Force_Occupants_Exit_Team@@YAXPAEH@Z
_TEXT	SEGMENT
_occupants$ = -28					; size = 16
__$EHRec$ = -12						; size = 12
_obj$ = 8						; size = 4
_team$ = 12						; size = 4
?Force_Occupants_Exit_Team@@YAXPAEH@Z PROC NEAR		; Force_Occupants_Exit_Team, COMDAT

; 7169 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Force_Occupants_Exit_Team@@YAXPAEH@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 16					; 00000010H

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

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

; 7171 : 	{
; 7172 : 		return;
; 7173 : 	}
; 7174 : 	VectorClass<GameObject *> *ptr = (VectorClass<GameObject *>*)(obj+0x9AC);
; 7175 : 	VectorClass<GameObject *> occupants = (VectorClass<GameObject *>)*ptr;

	mov	edi, DWORD PTR [esi+2480]
	mov	ebx, DWORD PTR [esi+2484]
	mov	dl, BYTE PTR [esi+2488]
	mov	al, BYTE PTR [esi+2489]
	mov	DWORD PTR _occupants$[ebp], OFFSET FLAT:??_7?$VectorClass@PAE@@6B@
	mov	DWORD PTR _occupants$[ebp+4], edi
	mov	DWORD PTR _occupants$[ebp+8], ebx
	mov	BYTE PTR _occupants$[ebp+12], dl
	mov	BYTE PTR _occupants$[ebp+13], al
	xor	esi, esi

; 7176 : 	int x = occupants.Length();
; 7177 : 	for (int i = 0;i < x;i++)

	cmp	ebx, esi
	mov	DWORD PTR __$EHRec$[ebp+8], esi
	jle	SHORT $L83100
$L83098:

; 7178 : 	{
; 7179 : 		if ((occupants[i]) && (Commands->Get_Player_Type(occupants[i]) != team))

	mov	eax, DWORD PTR [edi+esi*4]
	test	eax, eax
	je	SHORT $L83099
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	call	DWORD PTR [ecx+248]
	mov	ecx, DWORD PTR _team$[ebp]
	add	esp, 4
	cmp	eax, ecx
	je	SHORT $L83099

; 7180 : 		{
; 7181 : 			Check_Transitions(occupants[i],true);

	mov	edx, DWORD PTR [edi+esi*4]
	push	1
	push	edx
	call	DWORD PTR ?Check_Transitions@@3P6A_NPAE_N@ZA ; Check_Transitions
	add	esp, 8
$L83099:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L83098
$L83100:

; 7182 : 		}
; 7183 : 	}
; 7184 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L90385:
	lea	ecx, DWORD PTR _occupants$[ebp]
	jmp	??1?$VectorClass@PAE@@UAE@XZ		; VectorClass<unsigned char *>::~VectorClass<unsigned char *>
__ehhandler$?Force_Occupants_Exit_Team@@YAXPAEH@Z:
	mov	eax, OFFSET FLAT:$T90411
	jmp	___CxxFrameHandler
text$x	ENDS
?Force_Occupants_Exit_Team@@YAXPAEH@Z ENDP		; Force_Occupants_Exit_Team
PUBLIC	?Get_GameObj_By_Player_Name@@YAPAEPBD@Z		; Get_GameObj_By_Player_Name
; Function compile flags: /Ogty
;	COMDAT ?Get_GameObj_By_Player_Name@@YAPAEPBD@Z
_TEXT	SEGMENT
_name$ = 8						; size = 4
?Get_GameObj_By_Player_Name@@YAPAEPBD@Z PROC NEAR	; Get_GameObj_By_Player_Name, COMDAT

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

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

; 7287 : 	while (x)

	test	edi, edi
	je	SHORT $L83170
	mov	ebx, DWORD PTR _name$[esp+8]
$L83169:

; 7288 : 	{
; 7289 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7290 : 		if (o && Commands->Is_A_Star(o))

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

; 7291 : 		{
; 7292 : 			if (!stricmp(Get_Player_Name(o),name))

	push	ebx
	push	esi
	call	?Get_Player_Name@@YAPBDPAE@Z		; Get_Player_Name
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L90423
$L83174:

; 7295 : 			}
; 7296 : 		}
; 7297 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L83169
$L83170:
	pop	edi
	pop	esi

; 7298 : 	}
; 7299 : 	return 0;

	xor	eax, eax
	pop	ebx

; 7300 : }

	ret	0
$L90423:
	pop	edi

; 7293 : 			{
; 7294 : 				return o;

	mov	eax, esi
	pop	esi
	pop	ebx

; 7300 : }

	ret	0
?Get_GameObj_By_Player_Name@@YAPAEPBD@Z ENDP		; Get_GameObj_By_Player_Name
_TEXT	ENDS
PUBLIC	?Disable_All_Ground_Vehicles@@YAXI@Z		; Disable_All_Ground_Vehicles
; Function compile flags: /Ogty
;	COMDAT ?Disable_All_Ground_Vehicles@@YAXI@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Disable_All_Ground_Vehicles@@YAXI@Z PROC NEAR		; Disable_All_Ground_Vehicles, COMDAT

; 7514 : {

	push	ebx

; 7515 : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,team);

	mov	ebx, DWORD PTR _team$[esp]
	push	esi
	push	edi
	push	ebx
	push	1
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8
	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	6
$L83343:

; 7518 : 	{
; 7519 : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) != FLYING)

	mov	eax, DWORD PTR [esi]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8
	test	eax, eax
	je	SHORT $L90454
	cmp	DWORD PTR [eax+224], 3
	je	SHORT $L83344
$L90454:

; 7520 : 		{
; 7521 : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$L83344:

; 7516 : 	unsigned int i;
; 7517 : 	for (i = 0;i < 10;i++)

	add	esi, 4
	dec	edi
	jne	SHORT $L83343

; 7522 : 		}
; 7523 : 	}
; 7524 : 	p = Get_Purchase_Definition(SECRETVEHICLES,team);

	push	ebx
	push	4
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8
	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	6
$L83347:

; 7526 : 	{
; 7527 : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) != FLYING)

	mov	eax, DWORD PTR [esi]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8
	test	eax, eax
	je	SHORT $L90455
	cmp	DWORD PTR [eax+224], 3
	je	SHORT $L83348
$L90455:

; 7528 : 		{
; 7529 : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$L83348:

; 7525 : 	for (i = 0;i < 10;i++)

	add	esi, 4
	dec	edi
	jne	SHORT $L83347
	pop	edi
	pop	esi
	pop	ebx

; 7530 : 		}
; 7531 : 	}
; 7532 : }

	ret	0
?Disable_All_Ground_Vehicles@@YAXI@Z ENDP		; Disable_All_Ground_Vehicles
_TEXT	ENDS
PUBLIC	?Disable_All_Flying_Vehicles@@YAXI@Z		; Disable_All_Flying_Vehicles
; Function compile flags: /Ogty
;	COMDAT ?Disable_All_Flying_Vehicles@@YAXI@Z
_TEXT	SEGMENT
_team$ = 8						; size = 4
?Disable_All_Flying_Vehicles@@YAXI@Z PROC NEAR		; Disable_All_Flying_Vehicles, COMDAT

; 7535 : {

	push	ebx

; 7536 : 	PurchaseSettingsDefClass *p = Get_Purchase_Definition(VEHICLES,team);

	mov	ebx, DWORD PTR _team$[esp]
	push	esi
	push	edi
	push	ebx
	push	1
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8
	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	6
$L83356:

; 7539 : 	{
; 7540 : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) == FLYING)

	mov	eax, DWORD PTR [esi]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8
	test	eax, eax
	je	SHORT $L83357
	cmp	DWORD PTR [eax+224], 3
	jne	SHORT $L83357

; 7541 : 		{
; 7542 : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$L83357:

; 7537 : 	unsigned int i;
; 7538 : 	for (i = 0;i < 10;i++)

	add	esi, 4
	dec	edi
	jne	SHORT $L83356

; 7543 : 		}
; 7544 : 	}
; 7545 : 	p = Get_Purchase_Definition(SECRETVEHICLES,team);

	push	ebx
	push	4
	call	?Find_Definition@PurchaseSettingsDefClass@@SAPAV1@KK@Z ; PurchaseSettingsDefClass::Find_Definition
	add	esp, 8
	lea	esi, DWORD PTR [eax+76]
	mov	edi, 10					; 0000000aH
	npad	6
$L83360:

; 7547 : 	{
; 7548 : 		if (Get_Vehicle_Definition_Mode_By_ID(p->presetids[i]) == FLYING)

	mov	eax, DWORD PTR [esi]
	push	1
	push	eax
	call	DWORD PTR ?Find_Definition@@3P6APAVDefinitionClass@@K_N@ZA ; Find_Definition
	add	esp, 8
	test	eax, eax
	je	SHORT $L83361
	cmp	DWORD PTR [eax+224], 3
	jne	SHORT $L83361

; 7549 : 		{
; 7550 : 			p->presetids[i] = 0;

	mov	DWORD PTR [esi], 0
$L83361:

; 7546 : 	for (i = 0;i < 10;i++)

	add	esi, 4
	dec	edi
	jne	SHORT $L83360
	pop	edi
	pop	esi
	pop	ebx

; 7551 : 		}
; 7552 : 	}
; 7553 : }

	ret	0
?Disable_All_Flying_Vehicles@@YAXI@Z ENDP		; Disable_All_Flying_Vehicles
_TEXT	ENDS
PUBLIC	?Find_Building_With_Script@@YAPAEHHPBDPAE@Z	; Find_Building_With_Script
; Function compile flags: /Ogty
;	COMDAT ?Find_Building_With_Script@@YAPAEHHPBDPAE@Z
_TEXT	SEGMENT
_o$83396 = -4						; size = 4
_Team$ = 8						; size = 4
_Type$ = 12						; size = 4
_Script$ = 16						; size = 4
_Caller$ = 20						; size = 4
?Find_Building_With_Script@@YAPAEHHPBDPAE@Z PROC NEAR	; Find_Building_With_Script, COMDAT

; 7593 : {

	push	ebp
	mov	ebp, esp
	push	ecx

; 7594 : 	GenericSLNode *x = BuildingGameObjList->HeadNode;

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

; 7595 : 	while (x)

	test	edi, edi
	je	$L83395
$L83394:

; 7596 : 	{
; 7597 : 		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7598 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$83396[ebp], esi
	je	$L83399

; 7599 : 		{
; 7600 : 			if ((Type == -1 || Building_Type(o) == Type) && (Get_Object_Type(o) == Team || Team == 2) && !Is_Building_Dead(o) && Is_Script_Attached(o,Script) && o != Caller)

	mov	ebx, DWORD PTR _Type$[ebp]
	cmp	ebx, -1
	je	SHORT $L83400
	push	esi
	call	?Building_Type@@YAHPAE@Z		; Building_Type
	add	esp, 4
	cmp	eax, ebx
	jne	$L83399
$L83400:
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90501
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90501
	mov	ecx, DWORD PTR _o$83396[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L90501
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L90499
$L90501:
	xor	eax, eax
$L90499:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L83401
	cmp	ecx, 2
	jne	SHORT $L83399
$L83401:
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90529
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90529
	mov	ecx, DWORD PTR _o$83396[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+64]
	call	eax
	test	eax, eax
	je	SHORT $L90529
	mov	al, BYTE PTR [esi+1912]
	test	al, al
	jne	SHORT $L83399
$L90529:
	mov	edx, DWORD PTR _Script$[ebp]
	push	edx
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	je	SHORT $L83399
	cmp	esi, DWORD PTR _Caller$[ebp]
	jne	SHORT $L90525
$L83399:

; 7601 : 			{
; 7602 : 				return o;
; 7603 : 			}
; 7604 : 		}
; 7605 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L83394
$L83395:

; 7606 : 	}
; 7607 : 	return 0;

	xor	eax, eax

; 7608 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L90525:
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Find_Building_With_Script@@YAPAEHHPBDPAE@Z ENDP	; Find_Building_With_Script
_TEXT	ENDS
PUBLIC	??_C@_0L@HLJNJAMO@RGHProtect?$AA@		; `string'
PUBLIC	??_C@_06OMDHIKNA@?$CFs?0?5?$CFs?$AA@		; `string'
PUBLIC	??_C@_03BEOHKAMK@?$CFs?4?$AA@			; `string'
PUBLIC	?List_RGHP_Users@@YAXXZ				; List_RGHP_Users
;	COMDAT ??_C@_0L@HLJNJAMO@RGHProtect?$AA@
CONST	SEGMENT
??_C@_0L@HLJNJAMO@RGHProtect?$AA@ DB 'RGHProtect', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06OMDHIKNA@?$CFs?0?5?$CFs?$AA@
CONST	SEGMENT
??_C@_06OMDHIKNA@?$CFs?0?5?$CFs?$AA@ DB '%s, %s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_03BEOHKAMK@?$CFs?4?$AA@
CONST	SEGMENT
??_C@_03BEOHKAMK@?$CFs?4?$AA@ DB '%s.', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?List_RGHP_Users@@YAXXZ
_TEXT	SEGMENT
?List_RGHP_Users@@YAXXZ PROC NEAR			; List_RGHP_Users, COMDAT

; 7914 : 	char *list = "none";
; 7915 : 	GenericSLNode *x = SmartGameObjList->HeadNode;

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

; 7916 :  	while (x)

	test	edi, edi
	je	SHORT $L83577
	push	esi
	npad	2
$L83576:

; 7917 :  	{
; 7918 :  		GameObject *o = (GameObject *)x->NodeData;

	mov	esi, DWORD PTR [edi+4]

; 7919 : 		if (o)

	test	esi, esi
	je	SHORT $L83581

; 7920 : 		{
; 7921 : 			if (Is_Script_Attached(o,"RGHProtect"))

	push	OFFSET FLAT:??_C@_0L@HLJNJAMO@RGHProtect?$AA@
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	je	SHORT $L83581

; 7922 : 			{
; 7923 : 				sprintf(list,"%s, %s",list,Get_Player_Name(o));

	push	esi
	call	?Get_Player_Name@@YAPBDPAE@Z		; Get_Player_Name
	push	eax
	push	OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@
	push	OFFSET FLAT:??_C@_06OMDHIKNA@?$CFs?0?5?$CFs?$AA@
	push	OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@
	call	_sprintf
	add	esp, 20					; 00000014H
$L83581:

; 7924 : 			}
; 7925 : 		}
; 7926 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L83576
	pop	esi
$L83577:

; 7927 : 	}
; 7928 : 	sprintf(list,"%s.",list);

	push	OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@
	push	OFFSET FLAT:??_C@_03BEOHKAMK@?$CFs?4?$AA@
	push	OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@
	call	_sprintf

; 7929 : 	Console_Output(list);

	push	OFFSET FLAT:??_C@_04CGFJFPFD@none?$AA@
	call	?Console_Output@@YAXPBDZZ		; Console_Output
	add	esp, 16					; 00000010H
	pop	edi

; 7930 : }

	ret	0
?List_RGHP_Users@@YAXXZ ENDP				; List_RGHP_Users
_TEXT	ENDS
PUBLIC	??_C@_0N@LMKOHBPH@BeaconRepair?$AA@		; `string'
PUBLIC	?Track_New_Beacons@@YAXXZ			; Track_New_Beacons
;	COMDAT ??_C@_0N@LMKOHBPH@BeaconRepair?$AA@
CONST	SEGMENT
??_C@_0N@LMKOHBPH@BeaconRepair?$AA@ DB 'BeaconRepair', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Track_New_Beacons@@YAXXZ
_TEXT	SEGMENT
$T90545 = -4						; size = 4
?Track_New_Beacons@@YAXXZ PROC NEAR			; Track_New_Beacons, COMDAT

; 8028 :  void Track_New_Beacons() {

	push	ebp
	mov	ebp, esp
	push	ecx

; 8029 : 	GenericSLNode *z = BaseGameObjList->HeadNode;

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

; 8030 : 	while (z)

	test	edi, edi
	je	SHORT $L83662
$L83661:

; 8031 : 	{
; 8032 : 		GameObject *obj = As_ScriptableGameObj((GameObject *)z->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T90545[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83665
	test	esi, esi
	je	SHORT $L83665
	mov	ecx, DWORD PTR $T90545[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax

; 8033 : 		if (obj && Is_Beacon(obj) && !Is_Script_Attached(obj,"BeaconRepair"))

	test	esi, esi
	je	SHORT $L83665
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83665
	push	esi
	call	?As_BeaconGameObj@@YAPAEPAE@Z		; As_BeaconGameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L83665
	push	OFFSET FLAT:??_C@_0N@LMKOHBPH@BeaconRepair?$AA@
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L83665

; 8034 : 		{
; 8035 : 			Commands->Attach_Script(obj,"BeaconRepair","");

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	push	OFFSET FLAT:??_C@_0N@LMKOHBPH@BeaconRepair?$AA@
	push	esi
	call	DWORD PTR [eax+120]
	add	esp, 12					; 0000000cH
$L83665:

; 8036 : 		}
; 8037 : 		z = z->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	SHORT $L83661
$L83662:

; 8038 : 	}
; 8039 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Track_New_Beacons@@YAXXZ ENDP				; Track_New_Beacons
_TEXT	ENDS
PUBLIC	??_C@_0N@IMCLKPKF@Proximity_C4?$AA@		; `string'
PUBLIC	?Track_New_C4_Proxy@@YAXXZ			; Track_New_C4_Proxy
;	COMDAT ??_C@_0N@IMCLKPKF@Proximity_C4?$AA@
CONST	SEGMENT
??_C@_0N@IMCLKPKF@Proximity_C4?$AA@ DB 'Proximity_C4', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Track_New_C4_Proxy@@YAXXZ
_TEXT	SEGMENT
_mode$90581 = -8					; size = 4
_x$90580 = -4						; size = 4
$T90564 = -4						; size = 4
?Track_New_C4_Proxy@@YAXXZ PROC NEAR			; Track_New_C4_Proxy, COMDAT

; 8040 : void Track_New_C4_Proxy() {

	push	ebp
	mov	ebp, esp
	sub	esp, 8

; 8041 : 	GenericSLNode *z = BaseGameObjList->HeadNode;

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

; 8042 : 	while (z)

	test	edi, edi
	je	$L83672
	npad	7
$L83671:

; 8043 : 	{
; 8044 : 		GameObject *obj = As_ScriptableGameObj((GameObject *)z->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T90564[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	$L83675
	test	esi, esi
	je	$L83675
	mov	ecx, DWORD PTR $T90564[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax

; 8045 : 		if (obj && Is_C4(obj) && Get_C4_Mode(obj) == 3 && !Is_Script_Attached(obj,"Proximity_C4"))

	test	esi, esi
	je	$L83675
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83675
	push	esi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L83675
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L83675
	push	esi
	call	?As_C4GameObj@@YAPAEPAE@Z		; As_C4GameObj
	add	esp, 4
	test	eax, eax
	je	SHORT $L83675
	mov	ecx, DWORD PTR [eax+1992]
	add	ecx, 140				; 0000008cH
	mov	DWORD PTR _x$90580[ebp], ecx
	mov	ecx, DWORD PTR _x$90580[ebp]
	call	DWORD PTR ?Get_Safe_Data_Int@@3P6AHPAX@ZA ; Get_Safe_Data_Int
	mov	DWORD PTR _mode$90581[ebp], eax
	cmp	DWORD PTR _mode$90581[ebp], 3
	jne	SHORT $L83675
	push	OFFSET FLAT:??_C@_0N@IMCLKPKF@Proximity_C4?$AA@
	push	esi
	call	?Is_Script_Attached@@YA_NPAEPBD@Z	; Is_Script_Attached
	add	esp, 8
	test	al, al
	jne	SHORT $L83675

; 8046 : 		{
; 8047 : 			Commands->Attach_Script(obj,"Proximity_C4","");

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	push	OFFSET FLAT:??_C@_0N@IMCLKPKF@Proximity_C4?$AA@
	push	esi
	call	DWORD PTR [edx+120]
	add	esp, 12					; 0000000cH
$L83675:

; 8048 : 		}
; 8049 : 		z = z->NodeNext;

	mov	edi, DWORD PTR [edi]
	test	edi, edi
	jne	$L83671
$L83672:

; 8050 : 	}
; 8051 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Track_New_C4_Proxy@@YAXXZ ENDP				; Track_New_C4_Proxy
_TEXT	ENDS
PUBLIC	__real@40000000
PUBLIC	__real@43960000
PUBLIC	??_C@_0O@FIEOIAAI@POW_Armor_050?$AA@		; `string'
PUBLIC	??_C@_0O@CAHGGCMI@POW_Armor_025?$AA@		; `string'
PUBLIC	??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@	; `string'
PUBLIC	?Drop_All_Weapons2@@YAXPAE@Z			; Drop_All_Weapons2
PUBLIC	??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@	; `string'
PUBLIC	??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@	; `string'
PUBLIC	??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@ ; `string'
PUBLIC	??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@ ; `string'
PUBLIC	??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@ ; `string'
PUBLIC	??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@ ; `string'
PUBLIC	??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@ ; `string'
PUBLIC	??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@ ; `string'
PUBLIC	??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@	; `string'
PUBLIC	??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@	; `string'
PUBLIC	??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@ ; `string'
PUBLIC	??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@ ; `string'
PUBLIC	??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@ ; `string'
PUBLIC	??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@ ; `string'
PUBLIC	??_C@_0BA@DECLIAFK@KAK_Drop_Weapon?$AA@		; `string'
;	COMDAT __real@40000000
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
CONST	SEGMENT
__real@40000000 DD 040000000r			; 2
CONST	ENDS
;	COMDAT __real@43960000
CONST	SEGMENT
__real@43960000 DD 043960000r			; 300
CONST	ENDS
;	COMDAT ??_C@_0O@FIEOIAAI@POW_Armor_050?$AA@
CONST	SEGMENT
??_C@_0O@FIEOIAAI@POW_Armor_050?$AA@ DB 'POW_Armor_050', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@CAHGGCMI@POW_Armor_025?$AA@
CONST	SEGMENT
??_C@_0O@CAHGGCMI@POW_Armor_025?$AA@ DB 'POW_Armor_025', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@ DB 'Weapon_AutoRifle_'
	DB	'Player_Nod', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@ DB 'Weapon_AutoRifle_Play'
	DB	'er', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@
CONST	SEGMENT
??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@ DB 'Weapon_Chaingun_Player'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@
CONST	SEGMENT
??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@ DB 'Weapon_Shotgun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@ DB 'CnC_Weapon_Snip'
	DB	'erRifle_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@ DB 'Weapon_RamjetRifle_'
	DB	'Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@
CONST	SEGMENT
??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@ DB 'CnC_Weapon_Fla'
	DB	'methrower_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@
CONST	SEGMENT
??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@ DB 'Weapon_RocketLau'
	DB	'ncher_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@
CONST	SEGMENT
??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@ DB 'CnC_Weapon_Chem'
	DB	'Sprayer_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@
CONST	SEGMENT
??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@ DB 'Weapon_GrenadeL'
	DB	'auncher_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@ DB 'Weapon_LaserRifle_Pl'
	DB	'ayer', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@
CONST	SEGMENT
??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@ DB 'Weapon_LaserChain'
	DB	'gun_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@ DB 'Weapon_VoltAutoRi'
	DB	'fle_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@
CONST	SEGMENT
??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@ DB 'Weapon_Persona'
	DB	'lIonCannon_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@
CONST	SEGMENT
??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@ DB 'Weapon_Railgun_Player', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@
CONST	SEGMENT
??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@ DB 'Weapon_RepairGun_Play'
	DB	'er', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@
CONST	SEGMENT
??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@ DB 'CnC_Weapon_Repai'
	DB	'rGun_Player_Special', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@
CONST	SEGMENT
??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@ DB 'Weapon_Tiberi'
	DB	'umAutoRifle_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@
CONST	SEGMENT
??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@ DB 'Weapon_TiberiumF'
	DB	'lechetteGun_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@
CONST	SEGMENT
??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@ DB 'Weapon_MineRemote_Pl'
	DB	'ayer', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@
CONST	SEGMENT
??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@ DB 'CnC_Weapon_MineR'
	DB	'emote_Player_2Max', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@DECLIAFK@KAK_Drop_Weapon?$AA@
CONST	SEGMENT
??_C@_0BA@DECLIAFK@KAK_Drop_Weapon?$AA@ DB 'KAK_Drop_Weapon', 00H ; `string'
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
CONST	ENDS
;	COMDAT ?Drop_All_Weapons2@@YAXPAE@Z
_TEXT	SEGMENT
$T90590 = -36						; size = 12
_p$ = -24						; size = 12
tv2310 = -12						; size = 4
_o2$91584 = -12						; size = 4
_o2$91538 = -12						; size = 4
_o2$91492 = -12						; size = 4
_o2$91446 = -12						; size = 4
_o2$91400 = -12						; size = 4
_o2$91354 = -12						; size = 4
_o2$91308 = -12						; size = 4
_o2$91262 = -12						; size = 4
_o2$91216 = -12						; size = 4
_o2$91170 = -12						; size = 4
_o2$91126 = -12						; size = 4
_o2$91080 = -12						; size = 4
_o2$91034 = -12						; size = 4
_o2$90981 = -12						; size = 4
_o2$90935 = -12						; size = 4
_o2$90889 = -12						; size = 4
_o2$90843 = -12						; size = 4
_o2$90797 = -12						; size = 4
_o2$90751 = -12						; size = 4
_o2$90705 = -12						; size = 4
_o2$90664 = -12						; size = 4
_o2$90621 = -12						; size = 4
_test$ = -8						; size = 4
_x$ = -4						; size = 4
_obj$ = 8						; size = 4
?Drop_All_Weapons2@@YAXPAE@Z PROC NEAR			; Drop_All_Weapons2, COMDAT

; 8052 : void Drop_All_Weapons2(GameObject *obj) {

	push	ebp
	mov	ebp, esp
	sub	esp, 36					; 00000024H

; 8053 : 	int x = 2;
; 8054 : 	GameObject *test = 0;
; 8055 : 	Vector3 p = Commands->Get_Position(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	lea	eax, DWORD PTR $T90590[ebp]
	push	esi
	mov	edi, 2
	push	eax
	mov	DWORD PTR _x$[ebp], edi
	mov	DWORD PTR _test$[ebp], 0
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _p$[ebp], edx

; 8056 : 	p.X = p.X + 2;

	fld	DWORD PTR _p$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	fadd	DWORD PTR __real@40000000
	mov	DWORD PTR _p$[ebp+4], ecx
	mov	edx, DWORD PTR [eax+8]

; 8057 : 	if (Commands->Get_Max_Health(obj) + Commands->Get_Max_Shield_Strength(obj) > 300) { Commands->Create_Object("POW_Armor_050",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	fstp	DWORD PTR _p$[ebp]
	push	esi
	mov	DWORD PTR _p$[ebp+8], edx
	call	DWORD PTR [eax+236]
	fstp	DWORD PTR tv2310[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+224]
	fadd	DWORD PTR tv2310[ebp]
	add	esp, 16					; 00000010H
	fcomp	DWORD PTR __real@43960000
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L83684
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR _p$[ebp]
	push	edx
	push	OFFSET FLAT:??_C@_0O@FIEOIAAI@POW_Armor_050?$AA@
	call	DWORD PTR [eax+100]

; 8058 : 	else { Commands->Create_Object("POW_Armor_025",p); }

	jmp	SHORT $L91718
$L83684:
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0O@CAHGGCMI@POW_Armor_025?$AA@
	call	DWORD PTR [edx+100]
$L91718:
	add	esp, 8
	npad	3
$L83689:

; 8059 : 	while (x < Get_Weapon_Count(obj)) {

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90627
	test	esi, esi
	je	SHORT $L90627
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90627
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90627
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90621[ebp], eax
	je	SHORT $L90627
	mov	ecx, DWORD PTR _o2$90621[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90627
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+20]
	jmp	SHORT $L90625
$L90627:
	xor	eax, eax
$L90625:
	cmp	edi, eax

; 8060 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_AutoRifle_Player_Nod") == 0) { test = Commands->Create_Object("POW_AutoRifle_Player_Nod",p); }

	push	esi
	jge	$L83690
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90672
	test	esi, esi
	je	SHORT $L90672
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90672
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90672
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90664[ebp], eax
	je	SHORT $L90672
	mov	ecx, DWORD PTR _o2$90664[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90672
	mov	eax, DWORD PTR [eax+1968]
	mov	ecx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [ecx+edi*4]
	test	eax, eax
	je	SHORT $L90672
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	jmp	SHORT $L90670
$L90672:
	xor	eax, eax
$L90670:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83691
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83691:

; 8061 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_AutoRifle_Player") == 0) { test = Commands->Create_Object("POW_AutoRifle_Player",p); }

	mov	ebx, DWORD PTR _obj$[ebp]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90718
	test	ebx, ebx
	je	SHORT $L90718
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90718
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90718
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90705[ebp], eax
	je	SHORT $L90722
	mov	ecx, DWORD PTR _o2$90705[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90722
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90722
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90716
$L90722:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90718:
	xor	eax, eax
$L90716:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@
	mov	ecx, 24					; 00000018H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83694
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83694:

; 8062 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Chaingun_Player") == 0) { test = Commands->Create_Object("POW_Chaingun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90764
	test	ebx, ebx
	je	SHORT $L90764
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90764
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90764
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90751[ebp], eax
	je	SHORT $L90768
	mov	ecx, DWORD PTR _o2$90751[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90768
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90768
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90762
$L90768:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90764:
	xor	eax, eax
$L90762:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@
	mov	ecx, 23					; 00000017H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83697
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83697:

; 8063 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Shotgun_Player") == 0) { test = Commands->Create_Object("POW_Shotgun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90810
	test	ebx, ebx
	je	SHORT $L90810
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90810
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90810
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90797[ebp], eax
	je	SHORT $L90814
	mov	ecx, DWORD PTR _o2$90797[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90814
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90814
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90808
$L90814:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90810:
	xor	eax, eax
$L90808:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@
	mov	ecx, 22					; 00000016H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83700
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83700:

; 8064 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_SniperRifle_Player") == 0) { test = Commands->Create_Object("POW_SniperRifle_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90856
	test	ebx, ebx
	je	SHORT $L90856
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90856
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90856
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90843[ebp], eax
	je	SHORT $L90860
	mov	ecx, DWORD PTR _o2$90843[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90860
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90860
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90854
$L90860:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90856:
	xor	eax, eax
$L90854:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83703
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83703:

; 8065 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RamjetRifle_Player") == 0) { test = Commands->Create_Object("POW_RamjetRifle_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90902
	test	ebx, ebx
	je	SHORT $L90902
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90902
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90902
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90889[ebp], eax
	je	SHORT $L90906
	mov	ecx, DWORD PTR _o2$90889[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90906
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90906
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90900
$L90906:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90902:
	xor	eax, eax
$L90900:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@
	mov	ecx, 26					; 0000001aH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83706
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83706:

; 8066 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_Flamethrower_Player") == 0) { test = Commands->Create_Object("POW_Flamethrower_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90948
	test	ebx, ebx
	je	SHORT $L90948
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90948
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90948
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90935[ebp], eax
	je	SHORT $L90952
	mov	ecx, DWORD PTR _o2$90935[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90952
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90952
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90946
$L90952:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90948:
	xor	eax, eax
$L90946:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@
	mov	ecx, 31					; 0000001fH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83709
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83709:

; 8067 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RocketLauncher_Player") == 0) { test = Commands->Create_Object("POW_RocketLauncher_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90992
	test	ebx, ebx
	je	SHORT $L90992
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90992
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L90992
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$90981[ebp], eax
	je	SHORT $L90998
	mov	ecx, DWORD PTR _o2$90981[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L90998
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L90998
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L90988
$L90998:
	mov	ebx, DWORD PTR _obj$[ebp]
$L90992:
	xor	eax, eax
$L90988:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@
	mov	ecx, 29					; 0000001dH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83712
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83712:

; 8068 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_ChemSprayer_Player") == 0) { test = Commands->Create_Object("POW_ChemSprayer_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91025
	test	ebx, ebx
	je	SHORT $L91025
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91025
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91025
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91034[ebp], eax
	je	SHORT $L91029
	mov	ecx, DWORD PTR _o2$91034[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91029
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91029
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91023
$L91029:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91025:
	xor	eax, eax
$L91023:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83715
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83715:

; 8069 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_GrenadeLauncher_Player") == 0) { test = Commands->Create_Object("POW_GrenadeLauncher_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91071
	test	ebx, ebx
	je	SHORT $L91071
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91071
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91071
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91080[ebp], eax
	je	SHORT $L91075
	mov	ecx, DWORD PTR _o2$91080[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91075
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91075
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91069
$L91075:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91071:
	xor	eax, eax
$L91069:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83718
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83718:

; 8070 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_LaserRifle_Player") == 0) { test = Commands->Create_Object("POW_LaserRifle_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91117
	test	ebx, ebx
	je	SHORT $L91117
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91117
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91117
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91126[ebp], eax
	je	SHORT $L91121
	mov	ecx, DWORD PTR _o2$91126[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91121
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91121
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91115
$L91121:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91117:
	xor	eax, eax
$L91115:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@
	mov	ecx, 25					; 00000019H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83721
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83721:

; 8071 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_LaserChaingun_Player") == 0) { test = Commands->Create_Object("POW_LaserChaingun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91178
	test	ebx, ebx
	je	SHORT $L91178
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91178
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91178
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91170[ebp], eax
	je	SHORT $L91182
	mov	ecx, DWORD PTR _o2$91170[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91182
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91182
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91176
$L91182:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91178:
	xor	eax, eax
$L91176:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83724
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83724:

; 8072 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_VoltAutoRifle_Player") == 0) { test = Commands->Create_Object("POW_VoltAutoRifle_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91224
	test	ebx, ebx
	je	SHORT $L91224
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91224
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91224
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91216[ebp], eax
	je	SHORT $L91228
	mov	ecx, DWORD PTR _o2$91216[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91228
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91228
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91222
$L91228:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91224:
	xor	eax, eax
$L91222:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83727
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83727:

; 8073 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_PersonalIonCannon_Player") == 0) { test = Commands->Create_Object("POW_PersonalIonCannon_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91270
	test	ebx, ebx
	je	SHORT $L91270
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91270
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91270
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91262[ebp], eax
	je	SHORT $L91274
	mov	ecx, DWORD PTR _o2$91262[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91274
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91274
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91268
$L91274:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91270:
	xor	eax, eax
$L91268:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@
	mov	ecx, 32					; 00000020H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83730
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83730:

; 8074 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Railgun_Player") == 0) { test = Commands->Create_Object("POW_Railgun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91316
	test	ebx, ebx
	je	SHORT $L91316
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91316
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91316
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91308[ebp], eax
	je	SHORT $L91320
	mov	ecx, DWORD PTR _o2$91308[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91320
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91320
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91314
$L91320:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91316:
	xor	eax, eax
$L91314:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@
	mov	ecx, 22					; 00000016H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83733
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83733:

; 8075 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RepairGun_Player") == 0) { test = Commands->Create_Object("POW_RepairGun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91362
	test	ebx, ebx
	je	SHORT $L91362
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91362
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91362
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91354[ebp], eax
	je	SHORT $L91366
	mov	ecx, DWORD PTR _o2$91354[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91366
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91366
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91360
$L91366:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91362:
	xor	eax, eax
$L91360:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@
	mov	ecx, 24					; 00000018H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83736
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83736:

; 8076 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_RepairGun_Player_Special") == 0) { test = Commands->Create_Object("POW_RepairGun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91408
	test	ebx, ebx
	je	SHORT $L91408
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91408
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91408
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91400[ebp], eax
	je	SHORT $L91412
	mov	ecx, DWORD PTR _o2$91400[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91412
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91412
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91406
$L91412:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91408:
	xor	eax, eax
$L91406:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@
	mov	ecx, 36					; 00000024H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83739
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83739:

; 8077 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_TiberiumAutoRifle_Player") == 0) { test = Commands->Create_Object("POW_TiberiumAutoRifle_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91454
	test	ebx, ebx
	je	SHORT $L91454
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91454
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91454
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91446[ebp], eax
	je	SHORT $L91458
	mov	ecx, DWORD PTR _o2$91446[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91458
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91458
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91452
$L91458:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91454:
	xor	eax, eax
$L91452:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@
	mov	ecx, 32					; 00000020H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83741
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83741:

; 8078 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_TiberiumFlechetteGun_Player") == 0) { test = Commands->Create_Object("POW_TiberiumFlechetteGun_Player",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91500
	test	ebx, ebx
	je	SHORT $L91500
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91500
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91500
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91492[ebp], eax
	je	SHORT $L91504
	mov	ecx, DWORD PTR _o2$91492[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91504
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91504
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91498
$L91504:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91500:
	xor	eax, eax
$L91498:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@
	mov	ecx, 35					; 00000023H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83744
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83744:

; 8079 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_MineRemote_Player") == 0) { test = Commands->Create_Object("CnC_POW_MineRemote_02",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91546
	test	ebx, ebx
	je	SHORT $L91546
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91546
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91546
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91538[ebp], eax
	je	SHORT $L91550
	mov	ecx, DWORD PTR _o2$91538[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91550
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91550
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91544
$L91550:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91546:
	xor	eax, eax
$L91544:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@
	mov	ecx, 25					; 00000019H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83747
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83747:

; 8080 : 		//if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_MineTimed_Player") == 0) { test = Commands->Create_Object("POW_MineTimed_Player",p); }
; 8081 : 		//if (strcmp(Get_Weapon(obj,x),"Weapon_MineTimed_Player") == 0) { test = Commands->Create_Object("POW_MineTimed_Player",p); }
; 8082 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_MineRemote_Player_2Max") == 0) { test = Commands->Create_Object("CnC_POW_MineRemote_02",p); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91592
	test	ebx, ebx
	je	SHORT $L91592
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91592
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91592
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91584[ebp], eax
	je	SHORT $L91592
	mov	ecx, DWORD PTR _o2$91584[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91592
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91592
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	jmp	SHORT $L91590
$L91592:
	xor	eax, eax
$L91590:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@
	mov	ecx, 34					; 00000022H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83750
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _p$[ebp]
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	call	DWORD PTR [edx+100]
	add	esp, 8
	mov	DWORD PTR _test$[ebp], eax
$L83750:

; 8083 : 		Commands->Attach_Script(test,"KAK_Drop_Weapon","");

	mov	eax, DWORD PTR _test$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	push	OFFSET FLAT:??_C@_0BA@DECLIAFK@KAK_Drop_Weapon?$AA@
	push	eax
	call	DWORD PTR [ecx+120]

; 8084 : 		x = x + 1;

	mov	eax, DWORD PTR _x$[ebp]

; 8085 : 	}

	mov	esi, DWORD PTR _obj$[ebp]
	add	esp, 12					; 0000000cH
	inc	eax
	mov	DWORD PTR _x$[ebp], eax
	mov	edi, eax
	jmp	$L83689
$L83690:

; 8086 : 	Commands->Clear_Weapons(obj);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [edx+796]
	add	esp, 4

; 8087 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Drop_All_Weapons2@@YAXPAE@Z ENDP			; Drop_All_Weapons2
_TEXT	ENDS
PUBLIC	?Drop_All_Weapons@@YAXPAE@Z			; Drop_All_Weapons
PUBLIC	??_C@_0BL@OOFMGFNC@Weapon_Chaingun_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0BI@CCNLHBNH@POW_Chaingun_Player_Nod?$AA@	; `string'
PUBLIC	??_C@_0CC@IFFCOGHO@CnC_Weapon_SniperRifle_Player_No@ ; `string'
PUBLIC	??_C@_0BK@FHJCOGNO@Weapon_SniperRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0BO@FOAOBLNN@Weapon_SniperRifle_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0BO@BEJOHP@CnC_Weapon_RamjetRifle_Player?$AA@ ; `string'
PUBLIC	??_C@_0BL@ODCNJPGC@Weapon_Flamethrower_Player?$AA@ ; `string'
PUBLIC	??_C@_0CB@EPHIGEJG@CnC_Weapon_RocketLauncher_Player@ ; `string'
PUBLIC	??_C@_0BK@IDCCMNDN@Weapon_ChemSprayer_Player?$AA@ ; `string'
PUBLIC	??_C@_0CA@IDENJGFF@Weapon_VoltAutoRifle_Player_Nod?$AA@ ; `string'
PUBLIC	??_C@_0O@DDKDPCDL@Self_Destruct?$AA@		; `string'
;	COMDAT ??_C@_0BL@OOFMGFNC@Weapon_Chaingun_Player_Nod?$AA@
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
CONST	SEGMENT
??_C@_0BL@OOFMGFNC@Weapon_Chaingun_Player_Nod?$AA@ DB 'Weapon_Chaingun_Pl'
	DB	'ayer_Nod', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@CCNLHBNH@POW_Chaingun_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0BI@CCNLHBNH@POW_Chaingun_Player_Nod?$AA@ DB 'POW_Chaingun_Player_N'
	DB	'od', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@IFFCOGHO@CnC_Weapon_SniperRifle_Player_No@
CONST	SEGMENT
??_C@_0CC@IFFCOGHO@CnC_Weapon_SniperRifle_Player_No@ DB 'CnC_Weapon_Snipe'
	DB	'rRifle_Player_Nod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@FHJCOGNO@Weapon_SniperRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BK@FHJCOGNO@Weapon_SniperRifle_Player?$AA@ DB 'Weapon_SniperRifle_'
	DB	'Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@FOAOBLNN@Weapon_SniperRifle_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0BO@FOAOBLNN@Weapon_SniperRifle_Player_Nod?$AA@ DB 'Weapon_SniperRi'
	DB	'fle_Player_Nod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@BEJOHP@CnC_Weapon_RamjetRifle_Player?$AA@
CONST	SEGMENT
??_C@_0BO@BEJOHP@CnC_Weapon_RamjetRifle_Player?$AA@ DB 'CnC_Weapon_Ramjet'
	DB	'Rifle_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@ODCNJPGC@Weapon_Flamethrower_Player?$AA@
CONST	SEGMENT
??_C@_0BL@ODCNJPGC@Weapon_Flamethrower_Player?$AA@ DB 'Weapon_Flamethrowe'
	DB	'r_Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@EPHIGEJG@CnC_Weapon_RocketLauncher_Player@
CONST	SEGMENT
??_C@_0CB@EPHIGEJG@CnC_Weapon_RocketLauncher_Player@ DB 'CnC_Weapon_Rocke'
	DB	'tLauncher_Player', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@IDCCMNDN@Weapon_ChemSprayer_Player?$AA@
CONST	SEGMENT
??_C@_0BK@IDCCMNDN@Weapon_ChemSprayer_Player?$AA@ DB 'Weapon_ChemSprayer_'
	DB	'Player', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CA@IDENJGFF@Weapon_VoltAutoRifle_Player_Nod?$AA@
CONST	SEGMENT
??_C@_0CA@IDENJGFF@Weapon_VoltAutoRifle_Player_Nod?$AA@ DB 'Weapon_VoltAu'
	DB	'toRifle_Player_Nod', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0O@DDKDPCDL@Self_Destruct?$AA@
CONST	SEGMENT
??_C@_0O@DDKDPCDL@Self_Destruct?$AA@ DB 'Self_Destruct', 00H ; `string'
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
CONST	ENDS
;	COMDAT ?Drop_All_Weapons@@YAXPAE@Z
_TEXT	SEGMENT
$T91724 = -736						; size = 12
$T91746 = -724						; size = 12
$T91778 = -712						; size = 12
$T91730 = -700						; size = 12
$T91776 = -688						; size = 12
$T91738 = -676						; size = 12
$T91774 = -664						; size = 12
$T91750 = -652						; size = 12
$T91772 = -640						; size = 12
$T91742 = -628						; size = 12
$T91770 = -616						; size = 12
$T91734 = -604						; size = 12
$T91768 = -592						; size = 12
$T91726 = -580						; size = 12
$T91766 = -568						; size = 12
$T91748 = -556						; size = 12
$T91764 = -544						; size = 12
$T91744 = -532						; size = 12
$T91762 = -520						; size = 12
$T91740 = -508						; size = 12
$T91760 = -496						; size = 12
$T91736 = -484						; size = 12
$T91758 = -472						; size = 12
$T91732 = -460						; size = 12
$T91756 = -448						; size = 12
$T91728 = -436						; size = 12
$T91754 = -424						; size = 12
$T91752 = -412						; size = 12
$T91722 = -400						; size = 12
$T91782 = -388						; size = 12
$T91780 = -388						; size = 12
$T91779 = -376						; size = 12
$T91739 = -364						; size = 12
$T91777 = -352						; size = 12
$T91747 = -340						; size = 12
$T91721 = -328						; size = 12
$T91723 = -316						; size = 12
$T91731 = -304						; size = 12
$T91773 = -292						; size = 12
$T91743 = -280						; size = 12
$T91771 = -268						; size = 12
$T91735 = -256						; size = 12
$T91769 = -244						; size = 12
$T91727 = -232						; size = 12
$T91767 = -220						; size = 12
$T91749 = -208						; size = 12
$T91765 = -196						; size = 12
$T91745 = -184						; size = 12
$T91763 = -172						; size = 12
$T91741 = -160						; size = 12
$T91761 = -148						; size = 12
$T91737 = -136						; size = 12
$T91759 = -124						; size = 12
$T91733 = -112						; size = 12
$T91757 = -100						; size = 12
$T91729 = -88						; size = 12
$T91755 = -76						; size = 12
$T91725 = -64						; size = 12
$T91753 = -52						; size = 12
$T91751 = -40						; size = 12
$T91775 = -28						; size = 12
_Preset$ = -16						; size = 4
_test$ = -12						; size = 4
_x$ = -8						; size = 4
_o2$93192 = -4						; size = 4
_o2$93146 = -4						; size = 4
_o2$93100 = -4						; size = 4
_o2$93054 = -4						; size = 4
_o2$93001 = -4						; size = 4
_o2$92955 = -4						; size = 4
_o2$92909 = -4						; size = 4
_o2$92863 = -4						; size = 4
_o2$92817 = -4						; size = 4
_o2$92771 = -4						; size = 4
_o2$92730 = -4						; size = 4
_o2$92684 = -4						; size = 4
_o2$92638 = -4						; size = 4
_o2$92592 = -4						; size = 4
_o2$92546 = -4						; size = 4
_o2$92500 = -4						; size = 4
_o2$92454 = -4						; size = 4
_o2$92408 = -4						; size = 4
_o2$92362 = -4						; size = 4
_o2$92316 = -4						; size = 4
_o2$92270 = -4						; size = 4
_o2$92224 = -4						; size = 4
_o2$92187 = -4						; size = 4
_o2$92134 = -4						; size = 4
_o2$92088 = -4						; size = 4
_o2$92042 = -4						; size = 4
_o2$91989 = -4						; size = 4
_o2$91943 = -4						; size = 4
_o2$91897 = -4						; size = 4
_o2$91851 = -4						; size = 4
_o2$91808 = -4						; size = 4
_obj$ = 8						; size = 4
?Drop_All_Weapons@@YAXPAE@Z PROC NEAR			; Drop_All_Weapons, COMDAT

; 8088 : void Drop_All_Weapons(GameObject *obj) {

	push	ebp
	mov	ebp, esp
	sub	esp, 736				; 000002e0H

; 8089 : 	int x = 2;
; 8090 : 	GameObject *test = 0;
; 8091 : 	const char *Preset = Commands->Get_Preset_Name(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[ebp]
	push	edi
	mov	edi, 2
	push	esi
	mov	DWORD PTR _x$[ebp], edi
	mov	DWORD PTR _test$[ebp], 0
	call	DWORD PTR [eax+116]
	add	esp, 4
	mov	DWORD PTR _Preset$[ebp], eax
	npad	3
$L83760:

; 8092 : 	while (x < Get_Weapon_Count(obj)) {

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91819
	test	esi, esi
	je	SHORT $L91819
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91819
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91819
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91808[ebp], eax
	je	SHORT $L91819
	mov	ecx, DWORD PTR _o2$91808[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91819
	mov	ecx, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [ecx+20]
	jmp	SHORT $L91817
$L91819:
	xor	eax, eax
$L91817:
	cmp	edi, eax

; 8093 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_AutoRifle_Player_Nod") == 0) { test = Commands->Create_Object("POW_AutoRifle_Player_Nod",Commands->Get_Position(obj)); }

	push	esi
	jge	$L83761
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91864
	test	esi, esi
	je	SHORT $L91864
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91864
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91864
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91851[ebp], eax
	je	SHORT $L91864
	mov	ecx, DWORD PTR _o2$91851[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91864
	mov	eax, DWORD PTR [eax+1968]
	mov	edx, DWORD PTR [eax+8]
	mov	eax, DWORD PTR [edx+edi*4]
	test	eax, eax
	je	SHORT $L91864
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	jmp	SHORT $L91862
$L91864:
	xor	eax, eax
$L91862:
	mov	ebx, DWORD PTR _obj$[ebp]
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@DEHMEMCG@Weapon_AutoRifle_Player_Nod?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83762
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91722[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91721[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91721[ebp]
	mov	DWORD PTR $T91721[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@EENKDPLN@POW_AutoRifle_Player_Nod?$AA@
	mov	DWORD PTR $T91721[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83762:

; 8094 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_AutoRifle_Player") == 0) { test = Commands->Create_Object("POW_AutoRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91910
	test	ebx, ebx
	je	SHORT $L91910
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91910
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91910
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91897[ebp], eax
	je	SHORT $L91914
	mov	ecx, DWORD PTR _o2$91897[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91914
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91914
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91908
$L91914:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91910:
	xor	eax, eax
$L91908:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BI@LKNOHKIF@Weapon_AutoRifle_Player?$AA@
	mov	ecx, 24					; 00000018H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83764
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91724[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91723[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91723[ebp]
	mov	DWORD PTR $T91723[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@JPPMOJOK@POW_AutoRifle_Player?$AA@
	mov	DWORD PTR $T91723[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83764:

; 8095 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Chaingun_Player") == 0) { test = Commands->Create_Object("POW_Chaingun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91956
	test	ebx, ebx
	je	SHORT $L91956
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91956
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L91956
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91943[ebp], eax
	je	SHORT $L91960
	mov	ecx, DWORD PTR _o2$91943[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L91960
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L91960
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L91954
$L91960:
	mov	ebx, DWORD PTR _obj$[ebp]
$L91956:
	xor	eax, eax
$L91954:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BH@IADKAKDP@Weapon_Chaingun_Player?$AA@
	mov	ecx, 23					; 00000017H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83766
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91726[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91725[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91725[ebp]
	mov	DWORD PTR $T91725[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BE@MNHLMFIN@POW_Chaingun_Player?$AA@
	mov	DWORD PTR $T91725[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83766:

; 8096 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Chaingun_Player_Nod") == 0) { test = Commands->Create_Object("POW_Chaingun_Player_Nod",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92002
	test	ebx, ebx
	je	SHORT $L92002
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92002
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92002
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$91989[ebp], eax
	je	SHORT $L92006
	mov	ecx, DWORD PTR _o2$91989[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92006
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92006
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92000
$L92006:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92002:
	xor	eax, eax
$L92000:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BL@OOFMGFNC@Weapon_Chaingun_Player_Nod?$AA@
	mov	ecx, 27					; 0000001bH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83768
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91728[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91727[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91727[ebp]
	mov	DWORD PTR $T91727[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BI@CCNLHBNH@POW_Chaingun_Player_Nod?$AA@
	mov	DWORD PTR $T91727[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83768:

; 8097 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Shotgun_Player") == 0) { test = Commands->Create_Object("POW_Shotgun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92033
	test	ebx, ebx
	je	SHORT $L92033
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92033
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92033
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92042[ebp], eax
	je	SHORT $L92037
	mov	ecx, DWORD PTR _o2$92042[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92037
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92037
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92031
$L92037:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92033:
	xor	eax, eax
$L92031:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BG@KMDKJAL@Weapon_Shotgun_Player?$AA@
	mov	ecx, 22					; 00000016H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83772
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91730[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91729[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91729[ebp]
	mov	DWORD PTR $T91729[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BD@PJGNEDGL@POW_Shotgun_Player?$AA@
	mov	DWORD PTR $T91729[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83772:

; 8098 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_SniperRifle_Player") == 0) { test = Commands->Create_Object("POW_SniperRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92079
	test	ebx, ebx
	je	SHORT $L92079
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92079
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92079
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92088[ebp], eax
	je	SHORT $L92083
	mov	ecx, DWORD PTR _o2$92088[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92083
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92083
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92077
$L92083:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92079:
	xor	eax, eax
$L92077:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@LINHFCIE@CnC_Weapon_SniperRifle_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83774
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91732[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91731[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91731[ebp]
	mov	DWORD PTR $T91731[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
	mov	DWORD PTR $T91731[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83774:

; 8099 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_SniperRifle_Player_Nod") == 0) { test = Commands->Create_Object("POW_SniperRifle_Player_Nod",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92125
	test	ebx, ebx
	je	SHORT $L92125
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92125
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92125
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92134[ebp], eax
	je	SHORT $L92129
	mov	ecx, DWORD PTR _o2$92134[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92129
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92129
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92123
$L92129:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92125:
	xor	eax, eax
$L92123:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CC@IFFCOGHO@CnC_Weapon_SniperRifle_Player_No@
	mov	ecx, 34					; 00000022H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83776
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91734[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91733[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91733[ebp]
	mov	DWORD PTR $T91733[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@
	mov	DWORD PTR $T91733[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83776:

; 8100 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_SniperRifle_Player") == 0) { test = Commands->Create_Object("POW_SniperRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92178
	test	ebx, ebx
	je	SHORT $L92178
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92178
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92178
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92187[ebp], eax
	je	SHORT $L92182
	mov	ecx, DWORD PTR _o2$92187[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92182
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92182
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92176
$L92182:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92178:
	xor	eax, eax
$L92176:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BK@FHJCOGNO@Weapon_SniperRifle_Player?$AA@
	mov	ecx, 26					; 0000001aH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83780
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91736[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91735[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91735[ebp]
	mov	DWORD PTR $T91735[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@NMPBHGGK@POW_SniperRifle_Player?$AA@
	mov	DWORD PTR $T91735[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83780:

; 8101 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_SniperRifle_Player_Nod") == 0) { test = Commands->Create_Object("POW_SniperRifle_Player_Nod",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92232
	test	ebx, ebx
	je	SHORT $L92232
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92232
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92232
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92224[ebp], eax
	je	SHORT $L92236
	mov	ecx, DWORD PTR _o2$92224[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92236
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92236
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92230
$L92236:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92232:
	xor	eax, eax
$L92230:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@FOAOBLNN@Weapon_SniperRifle_Player_Nod?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83783
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91738[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91737[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91737[ebp]
	mov	DWORD PTR $T91737[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BL@FLHBICM@POW_SniperRifle_Player_Nod?$AA@
	mov	DWORD PTR $T91737[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83783:

; 8102 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_RamjetRifle_Player") == 0) { test = Commands->Create_Object("POW_RamjetRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92278
	test	ebx, ebx
	je	SHORT $L92278
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92278
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92278
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92270[ebp], eax
	je	SHORT $L92282
	mov	ecx, DWORD PTR _o2$92270[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92282
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92282
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92276
$L92282:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92278:
	xor	eax, eax
$L92276:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@BEJOHP@CnC_Weapon_RamjetRifle_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83786
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91740[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91739[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91739[ebp]
	mov	DWORD PTR $T91739[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	mov	DWORD PTR $T91739[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83786:

; 8103 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RamjetRifle_Player") == 0) { test = Commands->Create_Object("POW_RamjetRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92324
	test	ebx, ebx
	je	SHORT $L92324
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92324
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92324
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92316[ebp], eax
	je	SHORT $L92328
	mov	ecx, DWORD PTR _o2$92316[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92328
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92328
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92322
$L92328:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92324:
	xor	eax, eax
$L92322:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BK@OPFBCKCF@Weapon_RamjetRifle_Player?$AA@
	mov	ecx, 26					; 0000001aH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83789
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91742[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91741[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91741[ebp]
	mov	DWORD PTR $T91741[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@GEDCLKJB@POW_RamjetRifle_Player?$AA@
	mov	DWORD PTR $T91741[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83789:

; 8104 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_Flamethrower_Player") == 0) { test = Commands->Create_Object("POW_Flamethrower_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92370
	test	ebx, ebx
	je	SHORT $L92370
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92370
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92370
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92362[ebp], eax
	je	SHORT $L92374
	mov	ecx, DWORD PTR _o2$92362[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92374
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92374
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92368
$L92374:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92370:
	xor	eax, eax
$L92368:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BP@GIHMGCDM@CnC_Weapon_Flamethrower_Player?$AA@
	mov	ecx, 31					; 0000001fH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83791
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91744[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91743[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91743[ebp]
	mov	DWORD PTR $T91743[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
	mov	DWORD PTR $T91743[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83791:

; 8105 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Flamethrower_Player") == 0) { test = Commands->Create_Object("POW_Flamethrower_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92416
	test	ebx, ebx
	je	SHORT $L92416
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92416
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92416
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92408[ebp], eax
	je	SHORT $L92420
	mov	ecx, DWORD PTR _o2$92408[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92420
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92420
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92414
$L92420:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92416:
	xor	eax, eax
$L92414:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BL@ODCNJPGC@Weapon_Flamethrower_Player?$AA@
	mov	ecx, 27					; 0000001bH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83793
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91746[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91745[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91745[ebp]
	mov	DWORD PTR $T91745[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BI@CPKKILGH@POW_Flamethrower_Player?$AA@
	mov	DWORD PTR $T91745[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83793:

; 8106 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_RocketLauncher_Player") == 0) { test = Commands->Create_Object("CnC_POW_RocketLauncher_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92462
	test	ebx, ebx
	je	SHORT $L92462
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92462
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92462
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92454[ebp], eax
	je	SHORT $L92466
	mov	ecx, DWORD PTR _o2$92454[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92466
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92466
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92460
$L92466:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92462:
	xor	eax, eax
$L92460:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CB@EPHIGEJG@CnC_Weapon_RocketLauncher_Player@
	mov	ecx, 33					; 00000021H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83796
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91748[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91747[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91747[ebp]
	mov	DWORD PTR $T91747[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BO@CAKEEJFJ@CnC_POW_RocketLauncher_Player?$AA@
	mov	DWORD PTR $T91747[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83796:

; 8107 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RocketLauncher_Player") == 0) { test = Commands->Create_Object("POW_RocketLauncher_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92508
	test	ebx, ebx
	je	SHORT $L92508
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92508
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92508
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92500[ebp], eax
	je	SHORT $L92512
	mov	ecx, DWORD PTR _o2$92500[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92512
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92512
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92506
$L92512:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92508:
	xor	eax, eax
$L92506:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BN@KIEMBBLM@Weapon_RocketLauncher_Player?$AA@
	mov	ecx, 29					; 0000001dH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83800
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91750[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91749[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91749[ebp]
	mov	DWORD PTR $T91749[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BK@MPOBPNAD@POW_RocketLauncher_Player?$AA@
	mov	DWORD PTR $T91749[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83800:

; 8108 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_ChemSprayer_Player") == 0) { test = Commands->Create_Object("POW_ChemSprayer_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92554
	test	ebx, ebx
	je	SHORT $L92554
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92554
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92554
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92546[ebp], eax
	je	SHORT $L92558
	mov	ecx, DWORD PTR _o2$92546[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92558
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92558
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92552
$L92558:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92554:
	xor	eax, eax
$L92552:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@GMGHHJGH@CnC_Weapon_ChemSprayer_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83802
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91752[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91751[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91751[ebp]
	mov	DWORD PTR $T91751[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
	mov	DWORD PTR $T91751[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83802:

; 8109 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_ChemSprayer_Player") == 0) { test = Commands->Create_Object("POW_ChemSprayer_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92600
	test	ebx, ebx
	je	SHORT $L92600
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92600
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92600
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92592[ebp], eax
	je	SHORT $L92604
	mov	ecx, DWORD PTR _o2$92592[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92604
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92604
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92598
$L92604:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92600:
	xor	eax, eax
$L92598:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BK@IDCCMNDN@Weapon_ChemSprayer_Player?$AA@
	mov	ecx, 26					; 0000001aH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83804
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91754[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91753[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91753[ebp]
	mov	DWORD PTR $T91753[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BH@IEBFNIJ@POW_ChemSprayer_Player?$AA@
	mov	DWORD PTR $T91753[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83804:

; 8110 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_GrenadeLauncher_Player") == 0) { test = Commands->Create_Object("POW_GrenadeLauncher_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92646
	test	ebx, ebx
	je	SHORT $L92646
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92646
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92646
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92638[ebp], eax
	je	SHORT $L92650
	mov	ecx, DWORD PTR _o2$92638[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92650
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92650
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92644
$L92650:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92646:
	xor	eax, eax
$L92644:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BO@KADDDBBC@Weapon_GrenadeLauncher_Player?$AA@
	mov	ecx, 30					; 0000001eH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83807
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91756[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91755[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91755[ebp]
	mov	DWORD PTR $T91755[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BL@PLIKDCOD@POW_GrenadeLauncher_Player?$AA@
	mov	DWORD PTR $T91755[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83807:

; 8111 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_LaserRifle_Player") == 0) { test = Commands->Create_Object("POW_LaserRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92692
	test	ebx, ebx
	je	SHORT $L92692
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92692
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92692
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92684[ebp], eax
	je	SHORT $L92696
	mov	ecx, DWORD PTR _o2$92684[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92696
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92696
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92690
$L92696:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92692:
	xor	eax, eax
$L92690:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BJ@COMLIFHJ@Weapon_LaserRifle_Player?$AA@
	mov	ecx, 25					; 00000019H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83809
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91758[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91757[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91757[ebp]
	mov	DWORD PTR $T91757[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@PDODNLCD@POW_LaserRifle_Player?$AA@
	mov	DWORD PTR $T91757[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83809:

; 8112 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_LaserChaingun_Player") == 0) { test = Commands->Create_Object("POW_LaserChaingun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92738
	test	ebx, ebx
	je	SHORT $L92738
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92738
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92738
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92730[ebp], eax
	je	SHORT $L92742
	mov	ecx, DWORD PTR _o2$92730[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92742
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92742
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92736
$L92742:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92738:
	xor	eax, eax
$L92736:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@HDICNLIF@Weapon_LaserChaingun_Player?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83811
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91760[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91759[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91759[ebp]
	mov	DWORD PTR $T91759[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@DCEKIBO@POW_LaserChaingun_Player?$AA@
	mov	DWORD PTR $T91759[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83811:

; 8113 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_VoltAutoRifle_Player") == 0) { test = Commands->Create_Object("POW_VoltAutoRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92784
	test	ebx, ebx
	je	SHORT $L92784
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92784
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92784
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92771[ebp], eax
	je	SHORT $L92788
	mov	ecx, DWORD PTR _o2$92771[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92788
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92788
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92782
$L92788:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92784:
	xor	eax, eax
$L92782:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BM@HPCBCCCL@Weapon_VoltAutoRifle_Player?$AA@
	mov	ecx, 28					; 0000001cH
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83813
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91762[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91761[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91761[ebp]
	mov	DWORD PTR $T91761[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BJ@PIHFBLA@POW_VoltAutoRifle_Player?$AA@
	mov	DWORD PTR $T91761[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83813:

; 8114 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_VoltAutoRifle_Player_Nod") == 0) { test = Commands->Create_Object("CnC_POW_VoltAutoRifle_Player_Nod",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92830
	test	ebx, ebx
	je	SHORT $L92830
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92830
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92830
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92817[ebp], eax
	je	SHORT $L92834
	mov	ecx, DWORD PTR _o2$92817[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92834
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92834
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92828
$L92834:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92830:
	xor	eax, eax
$L92828:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CA@IDENJGFF@Weapon_VoltAutoRifle_Player_Nod?$AA@
	mov	ecx, 32					; 00000020H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83815
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91764[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91763[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91763[ebp]
	mov	DWORD PTR $T91763[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0CB@PANHDJIA@CnC_POW_VoltAutoRifle_Player_Nod@
	mov	DWORD PTR $T91763[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83815:

; 8115 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_PersonalIonCannon_Player") == 0) { test = Commands->Create_Object("POW_PersonalIonCannon_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92876
	test	ebx, ebx
	je	SHORT $L92876
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92876
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92876
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92863[ebp], eax
	je	SHORT $L92880
	mov	ecx, DWORD PTR _o2$92863[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92880
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92880
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92874
$L92880:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92876:
	xor	eax, eax
$L92874:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CA@BGNGFNL@Weapon_PersonalIonCannon_Player?$AA@
	mov	ecx, 32					; 00000020H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83819
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91766[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91765[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91765[ebp]
	mov	DWORD PTR $T91765[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BN@JFMDLPCE@POW_PersonalIonCannon_Player?$AA@
	mov	DWORD PTR $T91765[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83819:

; 8116 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_Railgun_Player") == 0) { test = Commands->Create_Object("POW_Railgun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92922
	test	ebx, ebx
	je	SHORT $L92922
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92922
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92922
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92909[ebp], eax
	je	SHORT $L92926
	mov	ecx, DWORD PTR _o2$92909[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92926
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92926
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92920
$L92926:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92922:
	xor	eax, eax
$L92920:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BG@LHJPMJHM@Weapon_Railgun_Player?$AA@
	mov	ecx, 22					; 00000016H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83821
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91768[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91767[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91767[ebp]
	mov	DWORD PTR $T91767[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BD@EEDBCDBM@POW_Railgun_Player?$AA@
	mov	DWORD PTR $T91767[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83821:

; 8117 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_RepairGun_Player") == 0) { test = Commands->Create_Object("POW_RepairGun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92968
	test	ebx, ebx
	je	SHORT $L92968
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92968
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L92968
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$92955[ebp], eax
	je	SHORT $L92972
	mov	ecx, DWORD PTR _o2$92955[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L92972
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L92972
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L92966
$L92972:
	mov	ebx, DWORD PTR _obj$[ebp]
$L92968:
	xor	eax, eax
$L92966:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BI@NKBDMJJH@Weapon_RepairGun_Player?$AA@
	mov	ecx, 24					; 00000018H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83823
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91770[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91769[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91769[ebp]
	mov	DWORD PTR $T91769[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	mov	DWORD PTR $T91769[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83823:

; 8118 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_RepairGun_Player_Special") == 0) { test = Commands->Create_Object("POW_RepairGun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93014
	test	ebx, ebx
	je	SHORT $L93014
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93014
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93014
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$93001[ebp], eax
	je	SHORT $L93018
	mov	ecx, DWORD PTR _o2$93001[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L93018
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L93018
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L93012
$L93018:
	mov	ebx, DWORD PTR _obj$[ebp]
$L93014:
	xor	eax, eax
$L93012:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CE@KGBDMOEC@CnC_Weapon_RepairGun_Player_Spec@
	mov	ecx, 36					; 00000024H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83825
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91772[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91771[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91771[ebp]
	mov	DWORD PTR $T91771[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BF@PPDBFKPI@POW_RepairGun_Player?$AA@
	mov	DWORD PTR $T91771[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83825:

; 8119 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_TiberiumAutoRifle_Player") == 0) { test = Commands->Create_Object("POW_TiberiumAutoRifle_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93046
	test	ebx, ebx
	je	SHORT $L93046
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93046
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93046
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$93054[ebp], eax
	je	SHORT $L93050
	mov	ecx, DWORD PTR _o2$93054[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L93050
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L93050
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L93043
$L93050:
	mov	ebx, DWORD PTR _obj$[ebp]
$L93046:
	xor	eax, eax
$L93043:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CA@KBFEMNBM@Weapon_TiberiumAutoRifle_Player?$AA@
	mov	ecx, 32					; 00000020H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83827
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91774[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91773[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91773[ebp]
	mov	DWORD PTR $T91773[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BN@DFPKBHOD@POW_TiberiumAutoRifle_Player?$AA@
	mov	DWORD PTR $T91773[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83827:

; 8120 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_TiberiumFlechetteGun_Player") == 0) { test = Commands->Create_Object("POW_TiberiumFlechetteGun_Player",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93091
	test	ebx, ebx
	je	SHORT $L93091
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93091
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93091
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$93100[ebp], eax
	je	SHORT $L93095
	mov	ecx, DWORD PTR _o2$93100[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L93095
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L93095
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L93089
$L93095:
	mov	ebx, DWORD PTR _obj$[ebp]
$L93091:
	xor	eax, eax
$L93089:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CD@EKPMIGEF@Weapon_TiberiumFlechetteGun_Play@
	mov	ecx, 35					; 00000023H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83829
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91776[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91775[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91775[ebp]
	mov	DWORD PTR $T91775[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0CA@LONNBBEG@POW_TiberiumFlechetteGun_Player?$AA@
	mov	DWORD PTR $T91775[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83829:

; 8121 : 		if (strcmp(Get_Weapon(obj,x),"Weapon_MineRemote_Player") == 0) { test = Commands->Create_Object("CnC_POW_MineRemote_02",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93137
	test	ebx, ebx
	je	SHORT $L93137
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93137
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93137
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$93146[ebp], eax
	je	SHORT $L93141
	mov	ecx, DWORD PTR _o2$93146[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L93141
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L93141
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L93135
$L93141:
	mov	ebx, DWORD PTR _obj$[ebp]
$L93137:
	xor	eax, eax
$L93135:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0BJ@DDLIFHII@Weapon_MineRemote_Player?$AA@
	mov	ecx, 25					; 00000019H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83831
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91778[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91777[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91777[ebp]
	mov	DWORD PTR $T91777[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	mov	DWORD PTR $T91777[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83831:

; 8122 : 		if (strcmp(Get_Weapon(obj,x),"CnC_Weapon_MineRemote_Player_2Max") == 0) { test = Commands->Create_Object("CnC_POW_MineRemote_02",Commands->Get_Position(obj)); }

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93183
	test	ebx, ebx
	je	SHORT $L93183
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93183
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93183
	mov	ecx, DWORD PTR _obj$[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+36]
	call	eax
	test	eax, eax
	mov	DWORD PTR _o2$93192[ebp], eax
	je	SHORT $L93187
	mov	ecx, DWORD PTR _o2$93192[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+148]
	call	eax
	test	eax, eax
	je	SHORT $L93187
	mov	eax, DWORD PTR [eax+1968]
	mov	eax, DWORD PTR [eax+8]
	mov	ecx, DWORD PTR _x$[ebp]
	mov	eax, DWORD PTR [eax+ecx*4]
	test	eax, eax
	je	SHORT $L93187
	mov	eax, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax]
	mov	ecx, eax
	call	DWORD PTR [edx+48]
	mov	ebx, DWORD PTR _obj$[ebp]
	jmp	SHORT $L93181
$L93187:
	mov	ebx, DWORD PTR _obj$[ebp]
$L93183:
	xor	eax, eax
$L93181:
	mov	esi, eax
	mov	edi, OFFSET FLAT:??_C@_0CC@NCICHILO@CnC_Weapon_MineRemote_Player_2Ma@
	mov	ecx, 34					; 00000022H
	xor	eax, eax
	repe cmpsb
	jne	SHORT $L83833
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T91780[ebp]
	push	ebx
	push	ecx
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR $T91779[ebp], ecx
	mov	edx, DWORD PTR [eax+4]
	lea	ecx, DWORD PTR $T91779[ebp]
	mov	DWORD PTR $T91779[ebp+4], edx
	mov	eax, DWORD PTR [eax+8]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	OFFSET FLAT:??_C@_0BG@OKANLFKB@CnC_POW_MineRemote_02?$AA@
	mov	DWORD PTR $T91779[ebp+8], eax
	call	DWORD PTR [edx+100]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _test$[ebp], eax
$L83833:

; 8123 : 		Commands->Attach_Script(test,"Self_Destruct","");

	mov	eax, DWORD PTR _test$[ebp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_00CNPNBAHC@?$AA@
	push	OFFSET FLAT:??_C@_0O@DDKDPCDL@Self_Destruct?$AA@
	push	eax
	call	DWORD PTR [ecx+120]

; 8124 : 		x = x + 1;

	mov	eax, DWORD PTR _x$[ebp]

; 8125 : 	}

	mov	esi, DWORD PTR _obj$[ebp]
	add	esp, 12					; 0000000cH
	inc	eax
	mov	DWORD PTR _x$[ebp], eax
	mov	edi, eax
	jmp	$L83760
$L83761:

; 8126 : 	/*position5820.X = -0.000000f;
; 8127 : 	position5820.Y = 0.000000f;
; 8128 : 	position5820.Z = 10.000000f;
; 8129 : 	GameObject *obj5820 = Find_Closest_Object_To_Pos_By_Preset(position5820,"Invisible_Object");
; 8130 : 	*/
; 8131 : 	Destroy_Invalids(Preset,Commands->Get_Position(obj),obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T91782[ebp]
	push	edx
	call	DWORD PTR [eax+64]
	mov	edx, DWORD PTR [eax]
	add	esp, 8
	push	esi
	sub	esp, 12					; 0000000cH
	mov	ecx, esp
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR [ecx+4], edx
	mov	DWORD PTR [ecx+8], eax
	mov	ecx, DWORD PTR _Preset$[ebp]
	push	ecx
	call	?Destroy_Invalids@@YAXPBDUVector3@@PAE@Z ; Destroy_Invalids
	add	esp, 20					; 00000014H

; 8132 : }

	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
?Drop_All_Weapons@@YAXPAE@Z ENDP			; Drop_All_Weapons
_TEXT	ENDS
PUBLIC	??0?$SimpleDynVecClass@PAE@@QAE@H@Z		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>
PUBLIC	?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z	; SimpleDynVecClass<unsigned char *>::Resize
PUBLIC	??_7?$SimpleDynVecClass@PAE@@6B@		; SimpleDynVecClass<unsigned char *>::`vftable'
PUBLIC	??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z		; SimpleDynVecClass<unsigned char *>::`scalar deleting destructor'
EXTRN	??_E?$SimpleDynVecClass@PAE@@UAEPAXI@Z:NEAR	; SimpleDynVecClass<unsigned char *>::`vector deleting destructor'
;	COMDAT ??_7?$SimpleDynVecClass@PAE@@6B@
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
CONST	SEGMENT
??_7?$SimpleDynVecClass@PAE@@6B@ DD FLAT:?Uninitialised_Grow@?$SimpleVecClass@PAE@@UAE_NH@Z ; SimpleDynVecClass<unsigned char *>::`vftable'
	DD	FLAT:??_E?$SimpleDynVecClass@PAE@@UAEPAXI@Z
	DD	FLAT:?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$SimpleDynVecClass@PAE@@QAE@H@Z
_TEXT	SEGMENT
_size$ = 8						; size = 4
??0?$SimpleDynVecClass@PAE@@QAE@H@Z PROC NEAR		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 235  : 	{

	mov	eax, DWORD PTR _size$[esp-4]
	test	eax, eax
	push	esi
	mov	esi, ecx
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi+8], 0
	jbe	SHORT $L93374
	push	eax
	call	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::Resize
$L93374:
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@

; 236  : 		ActiveCount = 0;

	mov	DWORD PTR [esi+12], 0

; 237  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@PAE@@QAE@H@Z ENDP		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	??0?$SimpleDynVecClass@PAE@@QAE@ABV0@@Z		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>
; Function compile flags: /Ogty
;	COMDAT ??0?$SimpleDynVecClass@PAE@@QAE@ABV0@@Z
_TEXT	SEGMENT
_cl$ = 8						; size = 4
??0?$SimpleDynVecClass@PAE@@QAE@ABV0@@Z PROC NEAR	; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 239  : 	{

	push	esi
	push	edi
	mov	edi, DWORD PTR _cl$[esp+4]
	push	edi
	mov	esi, ecx
	call	??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z	; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@

; 240  : 		ActiveCount = cl.ActiveCount;

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

; 241  : 	}

	mov	eax, esi
	pop	esi
	ret	4
??0?$SimpleDynVecClass@PAE@@QAE@ABV0@@Z ENDP		; SimpleDynVecClass<unsigned char *>::SimpleDynVecClass<unsigned char *>
_TEXT	ENDS
PUBLIC	??1?$SimpleDynVecClass@PAE@@UAE@XZ		; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	SEGMENT
$T93401	DD	0ffffffffH
	DD	FLAT:$L93383
$T93399	DD	019930520H
	DD	01H
	DD	FLAT:$T93401
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	ENDS
;	COMDAT ??1?$SimpleDynVecClass@PAE@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$SimpleDynVecClass@PAE@@UAE@XZ PROC NEAR		; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>, COMDAT
; _this$ = ecx

; 247  : 	{

	push	-1
	push	__ehhandler$??1?$SimpleDynVecClass@PAE@@UAE@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	mov	esi, ecx
	push	edi
	mov	DWORD PTR _this$[esp+24], esi
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@

; 248  : 		if (Vector)

	mov	eax, DWORD PTR [esi+4]
	xor	edi, edi
	cmp	eax, edi
	mov	DWORD PTR __$EHRec$[esp+32], edi
	je	SHORT $L84108

; 249  : 		{
; 250  : 			delete Vector;

	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4

; 251  : 			Vector = 0;

	mov	DWORD PTR [esi+4], edi
$L84108:

; 252  : 		}
; 253  : 	}

	mov	eax, DWORD PTR [esi+4]
	cmp	eax, edi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleVecClass@PAE@@6B@
	je	SHORT $L93393
	push	eax
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
	mov	DWORD PTR [esi+4], edi
	mov	DWORD PTR [esi+8], edi
$L93393:
	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L93383:
	mov	ecx, DWORD PTR _this$[ebp]
	jmp	??1?$SimpleVecClass@PAE@@UAE@XZ		; SimpleVecClass<unsigned char *>::~SimpleVecClass<unsigned char *>
__ehhandler$??1?$SimpleDynVecClass@PAE@@UAE@XZ:
	mov	eax, OFFSET FLAT:$T93399
	jmp	___CxxFrameHandler
text$x	ENDS
??1?$SimpleDynVecClass@PAE@@UAE@XZ ENDP			; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
; Function compile flags: /Ogty
;	COMDAT ?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z
_TEXT	SEGMENT
_newsize$ = 8						; size = 4
?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z PROC NEAR	; SimpleDynVecClass<unsigned char *>::Resize, COMDAT
; _this$ = ecx

; 256  : 		if (SimpleVecClass<T>::Resize(newsize))

	mov	eax, DWORD PTR _newsize$[esp-4]
	push	esi
	push	eax
	mov	esi, ecx
	call	?Resize@?$SimpleVecClass@PAE@@UAE_NH@Z	; SimpleVecClass<unsigned char *>::Resize
	test	al, al
	je	SHORT $L84112

; 257  : 		{
; 258  : 			if (VectorMax < ActiveCount)

	mov	eax, DWORD PTR [esi+8]
	cmp	eax, DWORD PTR [esi+12]
	jge	SHORT $L84113

; 259  : 			{
; 260  : 				ActiveCount = VectorMax;

	mov	DWORD PTR [esi+12], eax
$L84113:

; 261  : 			}
; 262  : 			return true;

	mov	al, 1
	pop	esi

; 265  : 	}

	ret	4
$L84112:

; 263  : 		}
; 264  : 		return false;

	xor	al, al
	pop	esi

; 265  : 	}

	ret	4
?Resize@?$SimpleDynVecClass@PAE@@UAE_NH@Z ENDP		; SimpleDynVecClass<unsigned char *>::Resize
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z PROC NEAR	; SimpleDynVecClass<unsigned char *>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L93413
	push	esi
	call	DWORD PTR ?RenDelete@@3P6AXPAX@ZA	; RenDelete
	add	esp, 4
$L93413:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$SimpleDynVecClass@PAE@@UAEPAXI@Z ENDP		; SimpleDynVecClass<unsigned char *>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Find_Random_Preset_By_Team@@YAPAEHPBD@Z	; Find_Random_Preset_By_Team
;	COMDAT xdata$x
xdata$x	SEGMENT
$T93478	DD	0ffffffffH
	DD	FLAT:$L93420
$T93470	DD	019930520H
	DD	01H
	DD	FLAT:$T93478
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Find_Random_Preset_By_Team@@YAPAEHPBD@Z
_TEXT	SEGMENT
_ObjList$ = -36						; size = 16
_o$83326 = -20						; size = 4
$T93457 = -16						; size = 4
$T93438 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_Team$ = 8						; size = 4
_Preset$ = 12						; size = 4
?Find_Random_Preset_By_Team@@YAPAEHPBD@Z PROC NEAR	; Find_Random_Preset_By_Team, COMDAT

; 7486 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Find_Random_Preset_By_Team@@YAPAEHPBD@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 24					; 00000018H
	push	ebx

; 7487 : 	SimpleDynVecClass<GameObject*> ObjList(0);

	xor	ebx, ebx
	push	esi
	push	edi
	mov	DWORD PTR _ObjList$[ebp+4], ebx
	mov	DWORD PTR _ObjList$[ebp+8], ebx
	mov	DWORD PTR _ObjList$[ebp], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@
	mov	DWORD PTR _ObjList$[ebp+12], ebx

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

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

; 7489 : 	while (x)

	cmp	edi, ebx
	mov	DWORD PTR __$EHRec$[ebp+8], ebx
	je	$L93474
$L83324:

; 7490 : 	{
; 7491 : 		GameObject *o = As_ScriptableGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T93438[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93437
	cmp	esi, ebx
	je	SHORT $L93437
	mov	ecx, DWORD PTR $T93438[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L93435
$L93437:
	xor	esi, esi
$L93435:

; 7492 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$83326[ebp], esi
	je	SHORT $L83329

; 7493 : 		{
; 7494 : 			if ((Get_Object_Type(o) == Team || Team == 2) && !stricmp(Commands->Get_Preset_Name(o),Preset))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T93457[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93453
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93453
	mov	ecx, DWORD PTR $T93457[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L93453
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L93451
$L93453:
	xor	eax, eax
$L93451:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L83330
	cmp	ecx, 2
	jne	SHORT $L83329
$L83330:
	mov	ecx, DWORD PTR _Preset$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	esi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L83329

; 7495 : 			{
; 7496 : 				ObjList.Add(o);

	lea	eax, DWORD PTR _o$83326[ebp]
	push	eax
	lea	ecx, DWORD PTR _ObjList$[ebp]
	call	?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z ; SimpleDynVecClass<unsigned char *>::Add
$L83329:

; 7497 : 			}
; 7498 : 		}
; 7499 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	xor	ebx, ebx
	cmp	edi, ebx
	jne	$L83324

; 7500 : 	}
; 7501 : 	int len = ObjList.Count();
; 7502 : 	if (len > 1)

	mov	eax, DWORD PTR _ObjList$[ebp+12]
	cmp	eax, 1
	jle	SHORT $L83332

; 7503 : 	{
; 7504 : 		return ObjList[Commands->Get_Random_Int(0,len)];

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ebx
	call	DWORD PTR [ecx+152]
	mov	edx, DWORD PTR _ObjList$[ebp+4]
	mov	esi, DWORD PTR [edx+eax*4]
	add	esp, 8
	jmp	SHORT $L93477
$L83332:

; 7505 : 	}
; 7506 : 	else if (!len)

	cmp	eax, ebx
	jne	SHORT $L83335
$L93474:

; 7507 : 	{
; 7508 : 		return 0;

	lea	ecx, DWORD PTR _ObjList$[ebp]
	mov	DWORD PTR __$EHRec$[ebp+8], -1
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
	xor	eax, eax

; 7511 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	mov	DWORD PTR fs:__except_list, ecx
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L83335:

; 7509 : 	}
; 7510 : 	return ObjList[0];

	mov	eax, DWORD PTR _ObjList$[ebp+4]
	mov	esi, DWORD PTR [eax]
$L93477:
	lea	ecx, DWORD PTR _ObjList$[ebp]
	mov	DWORD PTR __$EHRec$[ebp+8], -1
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>

; 7511 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L93420:
	lea	ecx, DWORD PTR _ObjList$[ebp]
	jmp	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
__ehhandler$?Find_Random_Preset_By_Team@@YAPAEHPBD@Z:
	mov	eax, OFFSET FLAT:$T93470
	jmp	___CxxFrameHandler
text$x	ENDS
?Find_Random_Preset_By_Team@@YAPAEHPBD@Z ENDP		; Find_Random_Preset_By_Team
PUBLIC	?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z ; Get_All_Objects_By_Preset
;	COMDAT xdata$x
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.h
xdata$x	SEGMENT
$T93536	DD	0ffffffffH
	DD	FLAT:$L93484
	DD	00H
	DD	FLAT:$L93483
$T93530	DD	019930520H
	DD	02H
	DD	FLAT:$T93536
	DD	2 DUP(00H)
	DD	2 DUP(00H)
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\engine.cpp
xdata$x	ENDS
;	COMDAT ?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z
_TEXT	SEGMENT
_ObjList$ = -40						; size = 16
$T93485 = -24						; size = 4
_o$83420 = -20						; size = 4
$T93523 = -16						; size = 4
$T93504 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_Team$ = 12						; size = 4
_Preset$ = 16						; size = 4
?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z PROC NEAR ; Get_All_Objects_By_Preset, COMDAT

; 7620 : {

	push	ebp
	mov	ebp, esp
	push	-1
	push	__ehhandler$?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	sub	esp, 28					; 0000001cH
	push	ebx

; 7621 : 	SimpleDynVecClass<GameObject*> ObjList(0);
; 7622 : 	GenericSLNode *x = BaseGameObjList->HeadNode;
; 7623 : 	while (x)

	xor	ebx, ebx
	mov	DWORD PTR $T93485[ebp], ebx
	push	esi
	push	edi
	mov	DWORD PTR _ObjList$[ebp+4], ebx
	mov	DWORD PTR _ObjList$[ebp+8], ebx
	mov	DWORD PTR _ObjList$[ebp], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@
	mov	DWORD PTR _ObjList$[ebp+12], ebx
	mov	eax, DWORD PTR ?BaseGameObjList@@3PAV?$SList@E@@A ; BaseGameObjList
	mov	edi, DWORD PTR [eax+4]
	cmp	edi, ebx
	mov	DWORD PTR __$EHRec$[ebp+8], 1
	je	$L83419
	npad	6
$L83418:

; 7624 : 	{
; 7625 : 		GameObject *o = As_ScriptableGameObj((GameObject *)x->NodeData);

	mov	esi, DWORD PTR [edi+4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T93504[ebp], esi
	call	DWORD PTR [ecx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93503
	cmp	esi, ebx
	je	SHORT $L93503
	mov	ecx, DWORD PTR $T93504[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+48]
	call	eax
	mov	esi, eax
	jmp	SHORT $L93501
$L93503:
	xor	esi, esi
$L93501:

; 7626 : 		if (o)

	test	esi, esi
	mov	DWORD PTR _o$83420[ebp], esi
	je	SHORT $L83423

; 7627 : 		{
; 7628 : 			if ((Get_Object_Type(o) == Team || Team == 2) && !stricmp(Commands->Get_Preset_Name(o),Preset))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	mov	DWORD PTR $T93523[ebp], esi
	call	DWORD PTR [edx+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93519
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [eax+108]
	add	esp, 4
	test	eax, eax
	je	SHORT $L93519
	mov	ecx, DWORD PTR $T93523[ebp]
	mov	ebx, DWORD PTR [ecx]
	mov	eax, DWORD PTR [ebx+60]
	call	eax
	test	eax, eax
	je	SHORT $L93519
	mov	eax, DWORD PTR [esi+1892]
	jmp	SHORT $L93517
$L93519:
	xor	eax, eax
$L93517:
	mov	ecx, DWORD PTR _Team$[ebp]
	cmp	eax, ecx
	je	SHORT $L83424
	cmp	ecx, 2
	jne	SHORT $L83423
$L83424:
	mov	ecx, DWORD PTR _Preset$[ebp]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	push	esi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	SHORT $L83423

; 7629 : 			{
; 7630 : 				ObjList.Add(o);

	lea	eax, DWORD PTR _o$83420[ebp]
	push	eax
	lea	ecx, DWORD PTR _ObjList$[ebp]
	call	?Add@?$SimpleDynVecClass@PAE@@QAEHAAPAE@Z ; SimpleDynVecClass<unsigned char *>::Add
$L83423:

; 7631 : 			}
; 7632 : 		}
; 7633 : 		x = x->NodeNext;

	mov	edi, DWORD PTR [edi]
	xor	ebx, ebx
	cmp	edi, ebx
	jne	$L83418
$L83419:

; 7634 : 	}
; 7635 : 	return ObjList;

	mov	esi, DWORD PTR ___$ReturnUdt$[ebp]
	lea	ecx, DWORD PTR _ObjList$[ebp]
	push	ecx
	mov	ecx, esi
	call	??0?$SimpleVecClass@PAE@@QAE@ABV0@@Z	; SimpleVecClass<unsigned char *>::SimpleVecClass<unsigned char *>
	mov	edx, DWORD PTR _ObjList$[ebp+12]
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$SimpleDynVecClass@PAE@@6B@
	mov	DWORD PTR [esi+12], edx
	lea	ecx, DWORD PTR _ObjList$[ebp]
	mov	DWORD PTR $T93485[ebp], 1
	mov	BYTE PTR __$EHRec$[ebp+8], bl
	call	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>

; 7636 : }

	mov	ecx, DWORD PTR __$EHRec$[ebp]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L93483:
	lea	ecx, DWORD PTR _ObjList$[ebp]
	jmp	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
$L93484:
	mov	eax, DWORD PTR $T93485[ebp]
	and	eax, 1
	je	$L93486
	and	DWORD PTR $T93485[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp]
	jmp	??1?$SimpleDynVecClass@PAE@@UAE@XZ	; SimpleDynVecClass<unsigned char *>::~SimpleDynVecClass<unsigned char *>
$L93486:
	ret	0
__ehhandler$?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z:
	mov	eax, OFFSET FLAT:$T93530
	jmp	___CxxFrameHandler
text$x	ENDS
?Get_All_Objects_By_Preset@@YA?AV?$SimpleDynVecClass@PAE@@HPBD@Z ENDP ; Get_All_Objects_By_Preset
END
