Descent3/scripts/s.asm
2024-04-15 21:43:29 -06:00

47710 lines
1.1 MiB

TITLE aigame.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
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
; COMDAT ?vm_MakeZero@@YAXPAUvector@@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ?vm_MakeZero@@YAXPAUangvec@@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??H@YA?AUvector@@U0@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??Y@YA?AUvector@@AAU0@U0@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??H@YA?AUmatrix@@U0@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??G@YA?AUvector@@U0@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??Z@YA?AUvector@@AAU0@U0@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??G@YA?AUmatrix@@U0@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??D@YAMUvector@@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??D@YA?AUvector@@U0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??X@YA?AUvector@@AAU0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??D@YA?AUvector@@MU0@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??D@YA?AUmatrix@@MU0@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??D@YA?AUmatrix@@U0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??K@YA?AUvector@@U0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_0@YA?AUvector@@AAU0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??K@YA?AUmatrix@@U0@M@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??T@YA?AUvector@@U0@0@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??G@YA?AUvector@@U0@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Pest@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Stinger@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0SuperThief@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Humonculous@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Dragon@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Tracker@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Lance@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Flak@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Seeker@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0SuperTrooper@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Sparky@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Hellion@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0MantaRay@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Skiff@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0SpyHunter@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Sniper@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0SniperNoRun@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0EvaderModA@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Jugg@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0DTower@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0DCollector@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0CBall@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0SixGun@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Sickle@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0BettyBomb@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0BettyScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0ChaffScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0ChaffChunkScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0ProxMine@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Gunboy@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0GBPowerup@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0JoshBell@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0ExplodeOnContact@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0DestroyOnContact@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0GuideBot@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Thief@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0FireAtDist@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0HatePTMC@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0Tubbs@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0BarnSwallow@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??0ExplodeTimeOut@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GPest@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GStinger@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GDragon@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GTracker@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GLance@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GFlak@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSuperTrooper@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GJugg@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSixGun@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSickle@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GGuideBot@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GFireAtDist@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GTubbs@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GThief@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GGBPowerup@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GBarnSwallow@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSparky@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GMantaRay@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSpyHunter@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSniper@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GHumonculous@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSeeker@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GBettyScript@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GChaffScript@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GChaffChunkScript@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GProxMine@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GBettyBomb@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GJoshBell@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSkiff@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GExplodeOnContact@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GExplodeTimeOut@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GGunboy@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GDTower@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GDCollector@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GCBall@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GHellion@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSuperThief@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GEvaderModA@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GDestroyOnContact@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GHatePTMC@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_GSniperNoRun@@QAEPAXI@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Pest@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Stinger@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Dragon@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Tracker@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Lance@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Flak@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1SuperTrooper@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Jugg@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1SixGun@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Sickle@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1GuideBot@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1FireAtDist@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Tubbs@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Thief@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1GBPowerup@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1BarnSwallow@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Sparky@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1MantaRay@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1SpyHunter@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Sniper@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Humonculous@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Seeker@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1BettyScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1ChaffScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1ChaffChunkScript@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1ProxMine@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1BettyBomb@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1JoshBell@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Skiff@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1ExplodeOnContact@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1ExplodeTimeOut@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Gunboy@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1DTower@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1DCollector@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1CBall@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1Hellion@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1SuperThief@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1EvaderModA@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1DestroyOnContact@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1HatePTMC@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??1SniperNoRun@@QAE@XZ
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ?IsGoalFinishedNotify@@YA_NH@Z
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT ??_7BarnSwallow@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7ExplodeTimeOut@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7GBPowerup@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Hellion@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7BettyBomb@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7MantaRay@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7BettyScript@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7SpyHunter@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Gunboy@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Humonculous@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7SuperThief@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Sparky@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7SniperNoRun@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7SixGun@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Lance@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Pest@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7ExplodeOnContact@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7JoshBell@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Stinger@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7ProxMine@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7GuideBot@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Skiff@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Flak@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Sickle@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7DCollector@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7HatePTMC@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Tubbs@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Seeker@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Dragon@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7BaseObjScript@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7ChaffChunkScript@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7EvaderModA@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7CBall@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7FireAtDist@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Tracker@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Jugg@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7DestroyOnContact@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7DTower@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7ChaffScript@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7SuperTrooper@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Sniper@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_7Thief@@6B@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC ?Obj_GetTimeLived@@3P6AMH@ZA ; Obj_GetTimeLived
PUBLIC ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
PUBLIC ?Obj_GetGroundPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGroundPos
PUBLIC ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
PUBLIC ?Room_IsValid@@3P6AEH@ZA ; Room_IsValid
PUBLIC ?Obj_GetAttachParent@@3P6AHH@ZA ; Obj_GetAttachParent
PUBLIC ?Obj_GetNumAttachSlots@@3P6AHH@ZA ; Obj_GetNumAttachSlots
PUBLIC ?Obj_GetAttachChildHandle@@3P6AHHD@ZA ; Obj_GetAttachChildHandle
PUBLIC ?Obj_AttachObjectAP@@3P6AHHDHDE@ZA ; Obj_AttachObjectAP
PUBLIC ?Obj_AttachObjectRad@@3P6AHHDHM@ZA ; Obj_AttachObjectRad
PUBLIC ?Obj_UnattachFromParent@@3P6AXH@ZA ; Obj_UnattachFromParent
PUBLIC ?sincos_table@@3PAMA ; sincos_table
PUBLIC ?asin_table@@3PAGA ; asin_table
PUBLIC ?acos_table@@3PAGA ; acos_table
PUBLIC ?Obj_UnattachChild@@3P6AXHD@ZA ; Obj_UnattachChild
PUBLIC ?Obj_UnattachChildren@@3P6AXH@ZA ; Obj_UnattachChildren
PUBLIC ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
PUBLIC ?AI_GetPathID@@3P6AHPAD@ZA ; AI_GetPathID
PUBLIC ?AI_GoalFollowPathSimple@@3P6AHHHHHH@ZA ; AI_GoalFollowPathSimple
PUBLIC ?AI_PowerSwitch@@3P6AHHE@ZA ; AI_PowerSwitch
PUBLIC ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
PUBLIC ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
PUBLIC ?Matcen_Value@@3P6AXHDDPAXH@ZA ; Matcen_Value
PUBLIC ?AI_TurnTowardsVectors@@3P6AEHPAUvector@@0@ZA ; AI_TurnTowardsVectors
PUBLIC ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
PUBLIC ?AI_FindHidePos@@3P6A?AUvector@@HHMPAH@ZA ; AI_FindHidePos
PUBLIC ?AI_GoalAddEnabler@@3P6AHHHHMMPAX@ZA ; AI_GoalAddEnabler
PUBLIC ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
PUBLIC ?AI_ClearGoal@@3P6AXHH@ZA ; AI_ClearGoal
PUBLIC ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
PUBLIC ?AI_GetRoomPathPoint@@3P6A?AUvector@@H@ZA ; AI_GetRoomPathPoint
PUBLIC ?AI_FindEnergyCenter@@3P6AHH@ZA ; AI_FindEnergyCenter
PUBLIC ?AI_GetDistToObj@@3P6AMHH@ZA ; AI_GetDistToObj
PUBLIC ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
PUBLIC ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
PUBLIC ?File_ReadBytes@@3P6AHPAEHPAX@ZA ; File_ReadBytes
PUBLIC ?File_ReadInt@@3P6AHPAX@ZA ; File_ReadInt
PUBLIC ?File_ReadShort@@3P6AFPAX@ZA ; File_ReadShort
PUBLIC ?File_ReadByte@@3P6ACPAX@ZA ; File_ReadByte
PUBLIC ?File_ReadFloat@@3P6AMPAX@ZA ; File_ReadFloat
PUBLIC ?File_ReadDouble@@3P6ANPAX@ZA ; File_ReadDouble
PUBLIC ?File_ReadString@@3P6AHPADIPAX@ZA ; File_ReadString
PUBLIC ?File_WriteBytes@@3P6AHPBEHPAX@ZA ; File_WriteBytes
PUBLIC ?File_WriteString@@3P6AHPBDPAX@ZA ; File_WriteString
PUBLIC ?File_WriteInt@@3P6AXHPAX@ZA ; File_WriteInt
PUBLIC ?File_WriteShort@@3P6AXFPAX@ZA ; File_WriteShort
PUBLIC ?File_WriteByte@@3P6AXCPAX@ZA ; File_WriteByte
PUBLIC ?File_WriteFloat@@3P6AXMPAX@ZA ; File_WriteFloat
PUBLIC ?File_WriteDouble@@3P6AXNPAX@ZA ; File_WriteDouble
PUBLIC ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
PUBLIC ?gb_command_text@@3PAHA ; gb_command_text
PUBLIC ?gb_pow_text@@3PAHA ; gb_pow_text
PUBLIC ?Scrpt_MemFree@@3P6AXPAX@ZA ; Scrpt_MemFree
PUBLIC ?gb_pow_not_text@@3PAHA ; gb_pow_not_text
PUBLIC ?gb_pow_pickup_text@@3PAHA ; gb_pow_pickup_text
PUBLIC ?Scrpt_CancelTimer@@3P6AXH@ZA ; Scrpt_CancelTimer
PUBLIC ?Scrpt_CreateTimer@@3P6AHPAUtOSIRISTIMER@@@ZA ; Scrpt_CreateTimer
PUBLIC ?MSafe_DoPowerup@@3P6AXPAUmsafe_struct@@@ZA ; MSafe_DoPowerup
PUBLIC ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
PUBLIC ?Game_GetTime@@3P6AMXZA ; Game_GetTime
PUBLIC ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
PUBLIC ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
PUBLIC ?Scrpt_TimerExists@@3P6AEH@ZA ; Scrpt_TimerExists
PUBLIC ?Matcen_Reset@@3P6AXH@ZA ; Matcen_Reset
PUBLIC ?Matcen_Copy@@3P6AXHH@ZA ; Matcen_Copy
PUBLIC ?Matcen_Create@@3P6AHPAD@ZA ; Matcen_Create
PUBLIC ?Matcen_FindID@@3P6AHPAD@ZA ; Matcen_FindID
PUBLIC ?Msn_FlagSet@@3P6AXHE@ZA ; Msn_FlagSet
PUBLIC ?Msn_FlagGet@@3P6AHH@ZA ; Msn_FlagGet
PUBLIC ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
PUBLIC ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
PUBLIC ?Player_AddHudMessage@@3P6AXHPAD@ZA ; Player_AddHudMessage
PUBLIC ?Obj_Ghost@@3P6AXH_N@ZA ; Obj_Ghost
PUBLIC ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
PUBLIC ?Obj_IsEffect@@3P6A_NHH@ZA ; Obj_IsEffect
PUBLIC ?File_Open@@3P6APAXPBD0@ZA ; File_Open
PUBLIC ?File_Close@@3P6AXPAX@ZA ; File_Close
PUBLIC ?File_Tell@@3P6AHPAX@ZA ; File_Tell
PUBLIC ?File_eof@@3P6AEPAX@ZA ; File_eof
PUBLIC ?Sound_Stop@@3P6AXH_N@ZA ; Sound_Stop
PUBLIC ?Sound_Play2d@@3P6AHHHM@ZA ; Sound_Play2d
PUBLIC ?ThiefableItems@@3PAUtThiefItems@@A ; ThiefableItems
PUBLIC ?numThiefableItems@@3HA ; numThiefableItems
PUBLIC ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
PUBLIC ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
PUBLIC ?AI_IsObjFriend@@3P6A_NHH@ZA ; AI_IsObjFriend
PUBLIC ?AI_IsObjEnemy@@3P6A_NHH@ZA ; AI_IsObjEnemy
PUBLIC ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
PUBLIC ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
PUBLIC ?AI_GetCurGoalIndex@@3P6ADH@ZA ; AI_GetCurGoalIndex
PUBLIC ?OMMS_Malloc@@3P6AHIIPAD@ZA ; OMMS_Malloc
PUBLIC ?OMMS_Attach@@3P6APAXH@ZA ; OMMS_Attach
PUBLIC ?OMMS_Detach@@3P6AXH@ZA ; OMMS_Detach
PUBLIC ?OMMS_Free@@3P6AXH@ZA ; OMMS_Free
PUBLIC ?OMMS_Find@@3P6AHIPAD@ZA ; OMMS_Find
PUBLIC ?OMMS_GetInfo@@3P6ADHPAI0PAGPAE@ZA ; OMMS_GetInfo
PUBLIC ?Cine_Start@@3P6A_NPAUtGameCinematic@@PAD@ZA ; Cine_Start
PUBLIC ?Cine_Stop@@3P6AXXZA ; Cine_Stop
PUBLIC ?Scrpt_FindSoundName@@3P6AHPAD@ZA ; Scrpt_FindSoundName
PUBLIC ?Scrpt_FindRoomName@@3P6AHPAD@ZA ; Scrpt_FindRoomName
PUBLIC ?Scrpt_FindTriggerName@@3P6AHPAD@ZA ; Scrpt_FindTriggerName
PUBLIC ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
PUBLIC ?Scrpt_GetTriggerRoom@@3P6AHH@ZA ; Scrpt_GetTriggerRoom
PUBLIC ?Scrpt_GetTriggerFace@@3P6AHH@ZA ; Scrpt_GetTriggerFace
PUBLIC ?Scrpt_FindDoorName@@3P6AHPAD@ZA ; Scrpt_FindDoorName
PUBLIC ?Scrpt_FindTextureName@@3P6AHPAD@ZA ; Scrpt_FindTextureName
PUBLIC ?Game_CreateRandomSparks@@3P6AXHPAUvector@@HHM@ZA ; Game_CreateRandomSparks
PUBLIC ?Scrpt_CancelTimerID@@3P6AXH@ZA ; Scrpt_CancelTimerID
PUBLIC ?Game_EnableShip@@3P6AXPAD_N@ZA ; Game_EnableShip
PUBLIC ?Game_IsShipEnabled@@3P6A_NPAD@ZA ; Game_IsShipEnabled
PUBLIC ?Path_GetInformation@@3P6A_NHHPAUvector@@PAHPAUmatrix@@@ZA ; Path_GetInformation
PUBLIC ?SuperThiefableItems@@3PAUtSuperThiefItems@@A ; SuperThiefableItems
PUBLIC ?Cine_StartCanned@@3P6AXPAUtCannedCinematicInfo@@@ZA ; Cine_StartCanned
PUBLIC ?Scrpt_FindMatcenName@@3P6AHPAD@ZA ; Scrpt_FindMatcenName
PUBLIC ?Scrpt_FindPathName@@3P6AHPAD@ZA ; Scrpt_FindPathName
PUBLIC ?Scrpt_FindLevelGoalName@@3P6AHPAD@ZA ; Scrpt_FindLevelGoalName
PUBLIC ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
PUBLIC ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
PUBLIC ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
PUBLIC ?AI_IsDestReachable@@3P6A_NHH@ZA ; AI_IsDestReachable
PUBLIC ?numSuperThiefableItems@@3HA ; numSuperThiefableItems
PUBLIC ?AI_IsObjReachable@@3P6A_NHH@ZA ; AI_IsObjReachable
PUBLIC ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
PUBLIC ?Game_GetLanguage@@3P6AHXZA ; Game_GetLanguage
PUBLIC ?Path_Value@@3P6AXHHDHPAX@ZA ; Path_Value
PUBLIC ?String_table_size@@3HA ; String_table_size
PUBLIC ?String_table@@3PAPADA ; String_table
PUBLIC ?ScriptInfo@@3PAUtScriptInfo@@A ; ScriptInfo
PUBLIC ?aigame_mod_id@@3HA ; aigame_mod_id
PUBLIC ?mprintf@@3P6AXHPADZZA ; mprintf
PUBLIC ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
PUBLIC ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
PUBLIC ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
PUBLIC ?Trgr_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Trgr_CallEvent
PUBLIC ?Sound_TouchFile@@3P6AXPAD@ZA ; Sound_TouchFile
PUBLIC ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
PUBLIC ?Obj_FindType@@3P6AHPAD@ZA ; Obj_FindType
PUBLIC ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
_BSS SEGMENT
?Obj_GetTimeLived@@3P6AMH@ZA DD 01H DUP (?) ; Obj_GetTimeLived
?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA DD 01H DUP (?) ; Obj_GetGunPos
?Obj_GetGroundPos@@3P6AXHHPAUvector@@0@ZA DD 01H DUP (?) ; Obj_GetGroundPos
?Room_Value@@3P6AXHDDPAXH@ZA DD 01H DUP (?) ; Room_Value
?Room_IsValid@@3P6AEH@ZA DD 01H DUP (?) ; Room_IsValid
?Obj_GetAttachParent@@3P6AHH@ZA DD 01H DUP (?) ; Obj_GetAttachParent
?Obj_GetNumAttachSlots@@3P6AHH@ZA DD 01H DUP (?) ; Obj_GetNumAttachSlots
?Obj_GetAttachChildHandle@@3P6AHHD@ZA DD 01H DUP (?) ; Obj_GetAttachChildHandle
?Obj_AttachObjectAP@@3P6AHHDHDE@ZA DD 01H DUP (?) ; Obj_AttachObjectAP
?Obj_AttachObjectRad@@3P6AHHDHM@ZA DD 01H DUP (?) ; Obj_AttachObjectRad
?Obj_UnattachFromParent@@3P6AXH@ZA DD 01H DUP (?) ; Obj_UnattachFromParent
?sincos_table@@3PAMA DD 0141H DUP (?) ; sincos_table
?asin_table@@3PAGA DW 0101H DUP (?) ; asin_table
ALIGN 4
?acos_table@@3PAGA DW 0101H DUP (?) ; acos_table
ALIGN 4
?Obj_UnattachChild@@3P6AXHD@ZA DD 01H DUP (?) ; Obj_UnattachChild
?Obj_UnattachChildren@@3P6AXH@ZA DD 01H DUP (?) ; Obj_UnattachChildren
?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA DD 01H DUP (?) ; FVI_RayCast
?AI_GetPathID@@3P6AHPAD@ZA DD 01H DUP (?) ; AI_GetPathID
?AI_GoalFollowPathSimple@@3P6AHHHHHH@ZA DD 01H DUP (?) ; AI_GoalFollowPathSimple
?AI_PowerSwitch@@3P6AHHE@ZA DD 01H DUP (?) ; AI_PowerSwitch
?AI_Value@@3P6AXHDDPAX@ZA DD 01H DUP (?) ; AI_Value
?Obj_Value@@3P6AXHDDPAXH@ZA DD 01H DUP (?) ; Obj_Value
?Matcen_Value@@3P6AXHDDPAXH@ZA DD 01H DUP (?) ; Matcen_Value
?AI_TurnTowardsVectors@@3P6AEHPAUvector@@0@ZA DD 01H DUP (?) ; AI_TurnTowardsVectors
?AI_SetType@@3P6AXHH@ZA DD 01H DUP (?) ; AI_SetType
?AI_FindHidePos@@3P6A?AUvector@@HHMPAH@ZA DD 01H DUP (?) ; AI_FindHidePos
?AI_GoalAddEnabler@@3P6AHHHHMMPAX@ZA DD 01H DUP (?) ; AI_GoalAddEnabler
?AI_AddGoal@@3P6AMHHHMHHZZA DD 01H DUP (?) ; AI_AddGoal
?AI_ClearGoal@@3P6AXHH@ZA DD 01H DUP (?) ; AI_ClearGoal
?AI_FindObjOfType@@3P6AHHHH_NH@ZA DD 01H DUP (?) ; AI_FindObjOfType
?AI_GetRoomPathPoint@@3P6A?AUvector@@H@ZA DD 01H DUP (?) ; AI_GetRoomPathPoint
?AI_FindEnergyCenter@@3P6AHH@ZA DD 01H DUP (?) ; AI_FindEnergyCenter
?AI_GetDistToObj@@3P6AMHH@ZA DD 01H DUP (?) ; AI_GetDistToObj
?AI_SetGoalFlags@@3P6AHHHHE@ZA DD 01H DUP (?) ; AI_SetGoalFlags
?AI_SetGoalCircleDist@@3P6AXHHM@ZA DD 01H DUP (?) ; AI_SetGoalCircleDist
?File_ReadBytes@@3P6AHPAEHPAX@ZA DD 01H DUP (?) ; File_ReadBytes
?File_ReadInt@@3P6AHPAX@ZA DD 01H DUP (?) ; File_ReadInt
?File_ReadShort@@3P6AFPAX@ZA DD 01H DUP (?) ; File_ReadShort
?File_ReadByte@@3P6ACPAX@ZA DD 01H DUP (?) ; File_ReadByte
?File_ReadFloat@@3P6AMPAX@ZA DD 01H DUP (?) ; File_ReadFloat
?File_ReadDouble@@3P6ANPAX@ZA DD 01H DUP (?) ; File_ReadDouble
?File_ReadString@@3P6AHPADIPAX@ZA DD 01H DUP (?) ; File_ReadString
?File_WriteBytes@@3P6AHPBEHPAX@ZA DD 01H DUP (?) ; File_WriteBytes
?File_WriteString@@3P6AHPBDPAX@ZA DD 01H DUP (?) ; File_WriteString
?File_WriteInt@@3P6AXHPAX@ZA DD 01H DUP (?) ; File_WriteInt
?File_WriteShort@@3P6AXFPAX@ZA DD 01H DUP (?) ; File_WriteShort
?File_WriteByte@@3P6AXCPAX@ZA DD 01H DUP (?) ; File_WriteByte
?File_WriteFloat@@3P6AXMPAX@ZA DD 01H DUP (?) ; File_WriteFloat
?File_WriteDouble@@3P6AXNPAX@ZA DD 01H DUP (?) ; File_WriteDouble
?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA DD 01H DUP (?) ; Scrpt_MemAlloc
?Scrpt_MemFree@@3P6AXPAX@ZA DD 01H DUP (?) ; Scrpt_MemFree
?Scrpt_CancelTimer@@3P6AXH@ZA DD 01H DUP (?) ; Scrpt_CancelTimer
?Scrpt_CreateTimer@@3P6AHPAUtOSIRISTIMER@@@ZA DD 01H DUP (?) ; Scrpt_CreateTimer
?MSafe_DoPowerup@@3P6AXPAUmsafe_struct@@@ZA DD 01H DUP (?) ; MSafe_DoPowerup
?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA DD 01H DUP (?) ; Obj_Create
?Game_GetTime@@3P6AMXZA DD 01H DUP (?) ; Game_GetTime
?Game_GetFrameTime@@3P6AMXZA DD 01H DUP (?) ; Game_GetFrameTime
?Obj_WBValue@@3P6AXHDDDPAXD@ZA DD 01H DUP (?) ; Obj_WBValue
?Scrpt_TimerExists@@3P6AEH@ZA DD 01H DUP (?) ; Scrpt_TimerExists
?Matcen_Reset@@3P6AXH@ZA DD 01H DUP (?) ; Matcen_Reset
?Matcen_Copy@@3P6AXHH@ZA DD 01H DUP (?) ; Matcen_Copy
?Matcen_Create@@3P6AHPAD@ZA DD 01H DUP (?) ; Matcen_Create
?Matcen_FindID@@3P6AHPAD@ZA DD 01H DUP (?) ; Matcen_FindID
?Msn_FlagSet@@3P6AXHE@ZA DD 01H DUP (?) ; Msn_FlagSet
?Msn_FlagGet@@3P6AHH@ZA DD 01H DUP (?) ; Msn_FlagGet
?Player_Value@@3P6AXHDDPAXH@ZA DD 01H DUP (?) ; Player_Value
?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA DD 01H DUP (?) ; Obj_SetCustomAnim
?Player_AddHudMessage@@3P6AXHPAD@ZA DD 01H DUP (?) ; Player_AddHudMessage
?Obj_Ghost@@3P6AXH_N@ZA DD 01H DUP (?) ; Obj_Ghost
?Obj_Burning@@3P6AXHMM@ZA DD 01H DUP (?) ; Obj_Burning
?Obj_IsEffect@@3P6A_NHH@ZA DD 01H DUP (?) ; Obj_IsEffect
?File_Open@@3P6APAXPBD0@ZA DD 01H DUP (?) ; File_Open
?File_Close@@3P6AXPAX@ZA DD 01H DUP (?) ; File_Close
?File_Tell@@3P6AHPAX@ZA DD 01H DUP (?) ; File_Tell
?File_eof@@3P6AEPAX@ZA DD 01H DUP (?) ; File_eof
?Sound_Stop@@3P6AXH_N@ZA DD 01H DUP (?) ; Sound_Stop
?Sound_Play2d@@3P6AHHHM@ZA DD 01H DUP (?) ; Sound_Play2d
?Sound_Play3d@@3P6AHHHM@ZA DD 01H DUP (?) ; Sound_Play3d
?Sound_FindId@@3P6AHPAD@ZA DD 01H DUP (?) ; Sound_FindId
?AI_IsObjFriend@@3P6A_NHH@ZA DD 01H DUP (?) ; AI_IsObjFriend
?AI_IsObjEnemy@@3P6A_NHH@ZA DD 01H DUP (?) ; AI_IsObjEnemy
?AI_GoalValue@@3P6A_NHDDDPAXD@ZA DD 01H DUP (?) ; AI_GoalValue
?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA DD 01H DUP (?) ; AI_GetNearbyObjs
?AI_GetCurGoalIndex@@3P6ADH@ZA DD 01H DUP (?) ; AI_GetCurGoalIndex
?OMMS_Malloc@@3P6AHIIPAD@ZA DD 01H DUP (?) ; OMMS_Malloc
?OMMS_Attach@@3P6APAXH@ZA DD 01H DUP (?) ; OMMS_Attach
?OMMS_Detach@@3P6AXH@ZA DD 01H DUP (?) ; OMMS_Detach
?OMMS_Free@@3P6AXH@ZA DD 01H DUP (?) ; OMMS_Free
?OMMS_Find@@3P6AHIPAD@ZA DD 01H DUP (?) ; OMMS_Find
?OMMS_GetInfo@@3P6ADHPAI0PAGPAE@ZA DD 01H DUP (?) ; OMMS_GetInfo
?Cine_Start@@3P6A_NPAUtGameCinematic@@PAD@ZA DD 01H DUP (?) ; Cine_Start
?Cine_Stop@@3P6AXXZA DD 01H DUP (?) ; Cine_Stop
?Scrpt_FindSoundName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindSoundName
?Scrpt_FindRoomName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindRoomName
?Scrpt_FindTriggerName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindTriggerName
?Scrpt_FindObjectName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindObjectName
?Scrpt_GetTriggerRoom@@3P6AHH@ZA DD 01H DUP (?) ; Scrpt_GetTriggerRoom
?Scrpt_GetTriggerFace@@3P6AHH@ZA DD 01H DUP (?) ; Scrpt_GetTriggerFace
?Scrpt_FindDoorName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindDoorName
?Scrpt_FindTextureName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindTextureName
?Game_CreateRandomSparks@@3P6AXHPAUvector@@HHM@ZA DD 01H DUP (?) ; Game_CreateRandomSparks
?Scrpt_CancelTimerID@@3P6AXH@ZA DD 01H DUP (?) ; Scrpt_CancelTimerID
?Game_EnableShip@@3P6AXPAD_N@ZA DD 01H DUP (?) ; Game_EnableShip
?Game_IsShipEnabled@@3P6A_NPAD@ZA DD 01H DUP (?) ; Game_IsShipEnabled
?Path_GetInformation@@3P6A_NHHPAUvector@@PAHPAUmatrix@@@ZA DD 01H DUP (?) ; Path_GetInformation
?Cine_StartCanned@@3P6AXPAUtCannedCinematicInfo@@@ZA DD 01H DUP (?) ; Cine_StartCanned
$SG5572 DB 01H DUP (?)
ALIGN 4
$SG5573 DB 01H DUP (?)
ALIGN 4
?Scrpt_FindMatcenName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindMatcenName
?Scrpt_FindPathName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindPathName
?Scrpt_FindLevelGoalName@@3P6AHPAD@ZA DD 01H DUP (?) ; Scrpt_FindLevelGoalName
$SG5586 DB 01H DUP (?)
ALIGN 4
$SG5587 DB 01H DUP (?)
ALIGN 4
?LGoal_Value@@3P6AXDDPAXHH@ZA DD 01H DUP (?) ; LGoal_Value
$SG5590 DB 01H DUP (?)
ALIGN 4
$SG5591 DB 01H DUP (?)
ALIGN 4
?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA DD 01H DUP (?) ; Obj_MakeListOfType
?Obj_Kill@@3P6AXHHMHMM@ZA DD 01H DUP (?) ; Obj_Kill
?AI_IsDestReachable@@3P6A_NHH@ZA DD 01H DUP (?) ; AI_IsDestReachable
$SG5610 DB 01H DUP (?)
ALIGN 4
$SG5611 DB 01H DUP (?)
ALIGN 4
?AI_IsObjReachable@@3P6A_NHH@ZA DD 01H DUP (?) ; AI_IsObjReachable
?Game_GetDiffLevel@@3P6ADXZA DD 01H DUP (?) ; Game_GetDiffLevel
?Game_GetLanguage@@3P6AHXZA DD 01H DUP (?) ; Game_GetLanguage
?Path_Value@@3P6AXHHDHPAX@ZA DD 01H DUP (?) ; Path_Value
?String_table_size@@3HA DD 01H DUP (?) ; String_table_size
?String_table@@3PAPADA DD 01H DUP (?) ; String_table
$SG3838 DB 01H DUP (?)
ALIGN 4
?aigame_mod_id@@3HA DD 01H DUP (?) ; aigame_mod_id
?mprintf@@3P6AXHPADZZA DD 01H DUP (?) ; mprintf
?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA DD 01H DUP (?) ; MSafe_CallFunction
?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA DD 01H DUP (?) ; MSafe_GetValue
?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA DD 01H DUP (?) ; Obj_CallEvent
?Trgr_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA DD 01H DUP (?) ; Trgr_CallEvent
?Sound_TouchFile@@3P6AXPAD@ZA DD 01H DUP (?) ; Sound_TouchFile
?Obj_FindID@@3P6AHPAD@ZA DD 01H DUP (?) ; Obj_FindID
?Obj_FindType@@3P6AHPAD@ZA DD 01H DUP (?) ; Obj_FindType
?Wpn_FindID@@3P6AHPAD@ZA DD 01H DUP (?) ; Wpn_FindID
_BSS ENDS
CONST SEGMENT
_Zero_vector DD 000000000r ; 0
DD 000000000r ; 0
DD 000000000r ; 0
CONST ENDS
_DATA SEGMENT
__Error_string DD FLAT:$SG3836
__Empty_string DD FLAT:$SG3838
?ScriptInfo@@3PAUtScriptInfo@@A DD 00H ; ScriptInfo
DD FLAT:$SG3875
DD 01H
DD FLAT:$SG3876
DD 02H
DD FLAT:$SG3877
DD 03H
DD FLAT:$SG3878
DD 04H
DD FLAT:$SG3879
DD 05H
DD FLAT:$SG3880
DD 06H
DD FLAT:$SG3881
DD 07H
DD FLAT:$SG3882
DD 08H
DD FLAT:$SG3883
DD 09H
DD FLAT:$SG3884
DD 0aH
DD FLAT:$SG3885
DD 0bH
DD FLAT:$SG3886
DD 0cH
DD FLAT:$SG3887
DD 0dH
DD FLAT:$SG3888
DD 0eH
DD FLAT:$SG3889
DD 0fH
DD FLAT:$SG3890
DD 010H
DD FLAT:$SG3891
DD 011H
DD FLAT:$SG3892
DD 012H
DD FLAT:$SG3893
DD 013H
DD FLAT:$SG3894
DD 014H
DD FLAT:$SG3895
DD 015H
DD FLAT:$SG3896
DD 016H
DD FLAT:$SG3897
DD 017H
DD FLAT:$SG3898
DD 018H
DD FLAT:$SG3899
DD 019H
DD FLAT:$SG3900
DD 01aH
DD FLAT:$SG3901
DD 01bH
DD FLAT:$SG3902
DD 01cH
DD FLAT:$SG3903
DD 01dH
DD FLAT:$SG3904
DD 01eH
DD FLAT:$SG3905
DD 01fH
DD FLAT:$SG3906
DD 020H
DD FLAT:$SG3907
DD 021H
DD FLAT:$SG3908
DD 022H
DD FLAT:$SG3909
DD 023H
DD FLAT:$SG3910
DD 024H
DD FLAT:$SG3911
DD 025H
DD FLAT:$SG3912
DD 026H
DD FLAT:$SG3913
DD 027H
DD FLAT:$SG3914
DD 028H
DD FLAT:$SG3915
DD 029H
DD FLAT:$SG3916
?gb_command_text@@3PAHA DD 00H ; gb_command_text
DD 01H
DD 02H
DD 03H
DD 04H
DD 05H
DD 06H
DD 07H
DD 08H
DD 09H
DD 0aH
DD 0bH
DD 0cH
DD 0dH
DD 0eH
DD 0fH
DD 010H
DD 011H
DD 012H
DD 013H
DD 014H
DD 015H
DD 016H
DD 017H
DD 018H
DD 019H
DD 01aH
DD 01bH
DD 01cH
DD 01dH
DD 01eH
DD 01fH
DD 020H
DD 021H
DD 022H
DD 023H
DD 024H
DD 025H
DD 026H
DD 027H
DD 028H
DD 029H
DD 02aH
DD 02bH
?gb_pow_text@@3PAHA DD 060H ; gb_pow_text
DD 061H
DD 062H
DD 063H
DD 064H
DD 065H
?gb_pow_not_text@@3PAHA DD 066H ; gb_pow_not_text
DD 067H
DD 068H
DD 069H
DD 06aH
DD 06bH
?gb_pow_pickup_text@@3PAHA DD 06cH ; gb_pow_pickup_text
DD 06dH
DD 06eH
DD 06fH
DD 070H
DD 071H
?ThiefableItems@@3PAUtThiefItems@@A DD 00H ; ThiefableItems
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 072H
DD 01H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 073H
DD 02H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 074H
DD 03H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 075H
DD 04H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 076H
DD 05H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 077H
DD 06H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 078H
DD 07H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 079H
DD 08H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 07aH
DD 09H
DD 00H
DD 03f333333r ; 0.7
DD 03f000000r ; 0.5
DD 03f333333r ; 0.7
DD 07bH
DD 0aH
DD 01H
DD 03f000000r ; 0.5
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 07cH
DD 0bH
DD 01H
DD 03f19999ar ; 0.6
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 07dH
DD 0cH
DD 01H
DD 03f333333r ; 0.7
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 07eH
DD 0dH
DD 01H
DD 03f4ccccdr ; 0.8
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 07fH
DD 0eH
DD 01H
DD 03f666666r ; 0.9
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 080H
DD 0fH
DD 01H
DD 03f000000r ; 0.5
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 081H
DD 010H
DD 01H
DD 03f19999ar ; 0.6
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 082H
DD 011H
DD 01H
DD 03f333333r ; 0.7
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 083H
DD 012H
DD 01H
DD 03f4ccccdr ; 0.8
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 084H
DD 013H
DD 01H
DD 03f666666r ; 0.9
DD 000000000r ; 0
DD 03f666666r ; 0.9
DD 085H
DD 01H
DD 02H
DD 03e4ccccdr ; 0.2
DD 03e4ccccdr ; 0.2
DD 03e4ccccdr ; 0.2
DD 086H
DD 02H
DD 02H
DD 000000000r ; 0
DD 000000000r ; 0
DD 000000000r ; 0
DD 087H
DD 03H
DD 02H
DD 03f4ccccdr ; 0.8
DD 03ecccccdr ; 0.4
DD 03f4ccccdr ; 0.8
DD 088H
DD 04H
DD 02H
DD 03f800000r ; 1
DD 03f19999ar ; 0.6
DD 03f800000r ; 1
DD 089H
DD 05H
DD 02H
DD 03f800000r ; 1
DD 03f19999ar ; 0.6
DD 03f800000r ; 1
DD 08aH
DD 06H
DD 02H
DD 03f800000r ; 1
DD 03f19999ar ; 0.6
DD 03f800000r ; 1
DD 08bH
DD 07H
DD 02H
DD 03f800000r ; 1
DD 03f19999ar ; 0.6
DD 03f800000r ; 1
DD 08cH
?numThiefableItems@@3HA DD 01bH ; numThiefableItems
ORG $+4
?SuperThiefableItems@@3PAUtSuperThiefItems@@A DD 00H ; SuperThiefableItems
DD 0ffffffffH
DD 00H
DD 03e800000r ; 0.25
DD 072H
DD FLAT:$SG5572
DD FLAT:$SG5573
DD 01H
DD 04H
DD 00H
DD 03dcccccdr ; 0.1
DD 073H
DD FLAT:$SG5574
DD FLAT:$SG5575
DD 02H
DD 02H
DD 00H
DD 03dcccccdr ; 0.1
DD 074H
DD FLAT:$SG5576
DD FLAT:$SG5577
DD 03H
DD 03H
DD 00H
DD 03e19999ar ; 0.15
DD 075H
DD FLAT:$SG5578
DD FLAT:$SG5579
DD 04H
DD 05H
DD 00H
DD 03f4ccccdr ; 0.8
DD 076H
DD FLAT:$SG5580
DD FLAT:$SG5581
DD 05H
DD 06H
DD 00H
DD 03e800000r ; 0.25
DD 077H
DD FLAT:$SG5582
DD FLAT:$SG5583
DD 06H
DD 07H
DD 00H
DD 03f800000r ; 1
DD 078H
DD FLAT:$SG5584
DD FLAT:$SG5585
DD 07H
DD 0ffffffffH
DD 00H
DD 03f800000r ; 1
DD 079H
DD FLAT:$SG5586
DD FLAT:$SG5587
DD 08H
DD 01H
DD 00H
DD 03e4ccccdr ; 0.2
DD 07aH
DD FLAT:$SG5588
DD FLAT:$SG5589
DD 09H
DD 0ffffffffH
DD 00H
DD 03f800000r ; 1
DD 07bH
DD FLAT:$SG5590
DD FLAT:$SG5591
DD 0aH
DD 01H
DD 01H
DD 03e4ccccdr ; 0.2
DD 07cH
DD FLAT:$SG5592
DD FLAT:$SG5593
DD 0bH
DD 02H
DD 01H
DD 03e4ccccdr ; 0.2
DD 07dH
DD FLAT:$SG5594
DD FLAT:$SG5595
DD 0cH
DD 0ffffffffH
DD 01H
DD 03e4ccccdr ; 0.2
DD 07eH
DD FLAT:$SG5596
DD FLAT:$SG5597
DD 0dH
DD 03H
DD 01H
DD 03e4ccccdr ; 0.2
DD 07fH
DD FLAT:$SG5598
DD FLAT:$SG5599
DD 0eH
DD 08H
DD 01H
DD 03e4ccccdr ; 0.2
DD 080H
DD FLAT:$SG5600
DD FLAT:$SG5601
DD 0fH
DD 06H
DD 01H
DD 03e4ccccdr ; 0.2
DD 081H
DD FLAT:$SG5602
DD FLAT:$SG5603
DD 010H
DD 04H
DD 01H
DD 03e4ccccdr ; 0.2
DD 082H
DD FLAT:$SG5604
DD FLAT:$SG5605
DD 011H
DD 05H
DD 01H
DD 03e4ccccdr ; 0.2
DD 083H
DD FLAT:$SG5606
DD FLAT:$SG5607
DD 012H
DD 07H
DD 01H
DD 03e4ccccdr ; 0.2
DD 084H
DD FLAT:$SG5608
DD FLAT:$SG5609
DD 013H
DD 0ffffffffH
DD 01H
DD 03e4ccccdr ; 0.2
DD 085H
DD FLAT:$SG5610
DD FLAT:$SG5611
?numSuperThiefableItems@@3HA DD 014H ; numSuperThiefableItems
_DATA ENDS
CONST SEGMENT
_hm_valid_next_modes DW 02H
DW 07cH
DW 07cH
DW 07cH
DW 06cH
DW 05cH
DW 080H
DW 0100H
DW 0200H
DW 0400H
DW 00H
CONST ENDS
_DATA SEGMENT
_?am_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?hl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?etos_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?cl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?iv_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?rf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
_?qf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA DD 0fffffffeH
$SG3836 DB '!!ERROR MISSING STRING!!', 00H
ORG $+3
$SG3875 DB 'Pest', 00H
ORG $+3
$SG3876 DB 'Stinger', 00H
$SG3877 DB 'Dragontorso', 00H
$SG3878 DB 'Tracker', 00H
$SG3879 DB 'Lance', 00H
ORG $+2
$SG3880 DB 'Flak', 00H
ORG $+3
$SG3881 DB 'supertrooper', 00H
ORG $+3
$SG3882 DB 'red supertrooper', 00H
ORG $+3
$SG3883 DB 'jugg', 00H
ORG $+3
$SG3884 DB 'Sixgun', 00H
ORG $+1
$SG3885 DB 'Sickle', 00H
ORG $+1
$SG3886 DB 'Guidebot', 00H
ORG $+3
$SG3887 DB 'FireAtDist', 00H
ORG $+1
$SG3888 DB 'Tubbs', 00H
ORG $+2
$SG3889 DB 'Thief', 00H
ORG $+2
$SG3890 DB 'GBPowerup', 00H
ORG $+2
$SG3891 DB 'BarnSwallow', 00H
$SG3892 DB 'Sparky', 00H
ORG $+1
$SG3893 DB 'Mantaray', 00H
ORG $+3
$SG3894 DB 'Spyhunter', 00H
ORG $+2
$SG3895 DB 'Sniper', 00H
ORG $+1
$SG3896 DB 'Humonculous', 00H
$SG3897 DB 'Seeker', 00H
ORG $+1
$SG3898 DB 'Betty', 00H
ORG $+2
$SG3899 DB 'ChaffBomb', 00H
ORG $+2
$SG3900 DB 'ChaffChunk', 00H
ORG $+1
$SG3901 DB 'ProxMine', 00H
ORG $+3
$SG3902 DB 'BettyBomb', 00H
ORG $+2
$SG3903 DB 'JoshBell', 00H
ORG $+3
$SG3904 DB 'Skiff', 00H
ORG $+2
$SG3905 DB 'ExplodeOnContact', 00H
ORG $+3
$SG3906 DB 'ExplodeTimeOut', 00H
ORG $+1
$SG3907 DB 'Gunboy', 00H
ORG $+1
$SG3908 DB 'Ltowerbase', 00H
ORG $+1
$SG3909 DB 'Collectorbase', 00H
ORG $+2
$SG3910 DB 'ChemicalBall', 00H
ORG $+3
$SG3911 DB 'Hellion', 00H
$SG3912 DB 'superthief', 00H
ORG $+1
$SG3913 DB 'EvaderModA', 00H
ORG $+1
$SG3914 DB 'DestroyOnContact', 00H
ORG $+3
$SG3915 DB 'HatePTMC', 00H
ORG $+3
$SG3916 DB 'SniperNoRun', 00H
$SG5574 DB 'Vauss', 00H
ORG $+2
$SG5575 DB 'WpnPyroGLVaussSidefire', 00H
ORG $+1
$SG5576 DB 'Raygun', 00H
ORG $+1
$SG5577 DB 'WpnPyroGLMicrowaveSide', 00H
ORG $+1
$SG5578 DB 'Plasma', 00H
ORG $+1
$SG5579 DB 'WpnPyroGLPlasmaFire', 00H
$SG5580 DB 'Fusion', 00H
ORG $+1
$SG5581 DB 'WpnPyroGLFusionFire', 00H
$SG5582 DB 'Laser Level 5 -Yellow', 00H
ORG $+2
$SG5583 DB 'WpnPyroGLSuperLaser', 00H
$SG5584 DB 'Mass Driver', 00H
$SG5585 DB 'WpnPyroGLMDriverFire', 00H
ORG $+3
$SG5588 DB 'EMDblob', 00H
$SG5589 DB 'WpnPyroGLEMDfire', 00H
ORG $+3
$SG5592 DB 'Concussion', 00H
ORG $+1
$SG5593 DB 'concmissilefire71', 00H
ORG $+2
$SG5594 DB 'homing', 00H
ORG $+1
$SG5595 DB 'HomingfireB1', 00H
ORG $+3
$SG5596 DB 'Impact Mortar', 00H
ORG $+2
$SG5597 DB 'Drop weapon', 00H
$SG5598 DB 'Smart', 00H
ORG $+2
$SG5599 DB 'Smartfire1', 00H
ORG $+1
$SG5600 DB 'Mega', 00H
ORG $+3
$SG5601 DB 'Mega missile fire', 00H
ORG $+2
$SG5602 DB 'Frag', 00H
ORG $+3
$SG5603 DB 'WpnFragFire', 00H
$SG5604 DB 'Guided', 00H
ORG $+1
$SG5605 DB 'Guided31', 00H
ORG $+3
$SG5606 DB 'NapalmRocket', 00H
ORG $+3
$SG5607 DB 'napalmrocket31', 00H
ORG $+1
$SG5608 DB 'Cyclone Pack', 00H
ORG $+3
$SG5609 DB 'CycloneFire1', 00H
_DATA ENDS
PUBLIC ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
EXTRN __fltused:NEAR
; COMDAT ?vm_MakeZero@@YAXPAUvector@@@Z
_TEXT SEGMENT
_v$ = 8
?vm_MakeZero@@YAXPAUvector@@@Z PROC NEAR ; vm_MakeZero, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 68
push ebp
mov ebp, esp
; Line 69
mov eax, DWORD PTR _v$[ebp]
mov DWORD PTR [eax+8], 0
mov ecx, DWORD PTR _v$[ebp]
mov DWORD PTR [ecx+4], 0
mov edx, DWORD PTR _v$[ebp]
mov DWORD PTR [edx], 0
; Line 70
pop ebp
ret 0
?vm_MakeZero@@YAXPAUvector@@@Z ENDP ; vm_MakeZero
_TEXT ENDS
PUBLIC ?vm_MakeZero@@YAXPAUangvec@@@Z ; vm_MakeZero
; COMDAT ?vm_MakeZero@@YAXPAUangvec@@@Z
_TEXT SEGMENT
_a$ = 8
?vm_MakeZero@@YAXPAUangvec@@@Z PROC NEAR ; vm_MakeZero, COMDAT
; Line 74
push ebp
mov ebp, esp
; Line 75
mov eax, DWORD PTR _a$[ebp]
mov WORD PTR [eax+4], 0
mov ecx, DWORD PTR _a$[ebp]
mov WORD PTR [ecx+2], 0
mov edx, DWORD PTR _a$[ebp]
mov WORD PTR [edx], 0
; Line 76
pop ebp
ret 0
?vm_MakeZero@@YAXPAUangvec@@@Z ENDP ; vm_MakeZero
_TEXT ENDS
PUBLIC ?osicommon_Initialize@@YAXPAUtOSIRISModuleInit@@@Z ; osicommon_Initialize
_TEXT SEGMENT
_mi$ = 8
_i$ = -4
?osicommon_Initialize@@YAXPAUtOSIRISModuleInit@@@Z PROC NEAR ; osicommon_Initialize
; File osiris_import.h
; Line 606
push ebp
mov ebp, esp
push ecx
; Line 607
mov DWORD PTR _i$[ebp], 0
; Line 608
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?mprintf@@3P6AXHPADZZA, edx ; mprintf
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 609
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA, eax ; MSafe_CallFunction
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 610
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA, ecx ; MSafe_GetValue
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 611
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA, edx ; Obj_CallEvent
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 612
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Trgr_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA, eax ; Trgr_CallEvent
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 613
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Sound_TouchFile@@3P6AXPAD@ZA, ecx ; Sound_TouchFile
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 614
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA, edx ; Obj_FindID
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 615
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA, eax ; Wpn_FindID
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 616
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_GetTimeLived@@3P6AMH@ZA, ecx ; Obj_GetTimeLived
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 617
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA, edx ; Obj_GetGunPos
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 618
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA, eax ; Room_Value
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 619
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Room_IsValid@@3P6AEH@ZA, ecx ; Room_IsValid
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 620
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_GetAttachParent@@3P6AHH@ZA, edx ; Obj_GetAttachParent
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 621
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_GetNumAttachSlots@@3P6AHH@ZA, eax ; Obj_GetNumAttachSlots
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 622
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_GetAttachChildHandle@@3P6AHHD@ZA, ecx ; Obj_GetAttachChildHandle
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 623
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_AttachObjectAP@@3P6AHHDHDE@ZA, edx ; Obj_AttachObjectAP
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 624
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_AttachObjectRad@@3P6AHHDHM@ZA, eax ; Obj_AttachObjectRad
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 625
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_UnattachFromParent@@3P6AXH@ZA, ecx ; Obj_UnattachFromParent
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 626
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_UnattachChild@@3P6AXHD@ZA, edx ; Obj_UnattachChild
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 627
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_UnattachChildren@@3P6AXH@ZA, eax ; Obj_UnattachChildren
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 628
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA, ecx ; FVI_RayCast
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 629
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_GetPathID@@3P6AHPAD@ZA, edx ; AI_GetPathID
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 630
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_GoalFollowPathSimple@@3P6AHHHHHH@ZA, eax ; AI_GoalFollowPathSimple
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 631
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_PowerSwitch@@3P6AHHE@ZA, ecx ; AI_PowerSwitch
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 632
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_TurnTowardsVectors@@3P6AEHPAUvector@@0@ZA, edx ; AI_TurnTowardsVectors
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 633
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_SetType@@3P6AXHH@ZA, eax ; AI_SetType
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 634
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_FindHidePos@@3P6A?AUvector@@HHMPAH@ZA, ecx ; AI_FindHidePos
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 635
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_GoalAddEnabler@@3P6AHHHHMMPAX@ZA, edx ; AI_GoalAddEnabler
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 636
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA, eax ; AI_AddGoal
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 637
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_ClearGoal@@3P6AXHH@ZA, ecx ; AI_ClearGoal
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 638
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA, edx ; AI_Value
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 639
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA, eax ; AI_FindObjOfType
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 640
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_GetRoomPathPoint@@3P6A?AUvector@@H@ZA, ecx ; AI_GetRoomPathPoint
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 641
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_FindEnergyCenter@@3P6AHH@ZA, edx ; AI_FindEnergyCenter
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 642
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_GetDistToObj@@3P6AMHH@ZA, eax ; AI_GetDistToObj
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 643
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA, ecx ; AI_SetGoalFlags
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 644
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA, edx ; AI_SetGoalCircleDist
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 645
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_ReadBytes@@3P6AHPAEHPAX@ZA, eax ; File_ReadBytes
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 646
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_ReadInt@@3P6AHPAX@ZA, ecx ; File_ReadInt
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 647
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_ReadShort@@3P6AFPAX@ZA, edx ; File_ReadShort
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 648
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_ReadByte@@3P6ACPAX@ZA, eax ; File_ReadByte
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 649
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_ReadFloat@@3P6AMPAX@ZA, ecx ; File_ReadFloat
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 650
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_ReadDouble@@3P6ANPAX@ZA, edx ; File_ReadDouble
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 651
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_ReadString@@3P6AHPADIPAX@ZA, eax ; File_ReadString
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 652
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_WriteBytes@@3P6AHPBEHPAX@ZA, ecx ; File_WriteBytes
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 653
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_WriteString@@3P6AHPBDPAX@ZA, edx ; File_WriteString
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 654
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_WriteInt@@3P6AXHPAX@ZA, eax ; File_WriteInt
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 655
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_WriteShort@@3P6AXFPAX@ZA, ecx ; File_WriteShort
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 656
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_WriteByte@@3P6AXCPAX@ZA, edx ; File_WriteByte
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 657
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_WriteFloat@@3P6AXMPAX@ZA, eax ; File_WriteFloat
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 658
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_WriteDouble@@3P6AXNPAX@ZA, ecx ; File_WriteDouble
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 659
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA, edx ; Scrpt_MemAlloc
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 660
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Scrpt_MemFree@@3P6AXPAX@ZA, eax ; Scrpt_MemFree
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 661
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Scrpt_CancelTimer@@3P6AXH@ZA, ecx ; Scrpt_CancelTimer
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 662
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_CreateTimer@@3P6AHPAUtOSIRISTIMER@@@ZA, edx ; Scrpt_CreateTimer
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 663
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?MSafe_DoPowerup@@3P6AXPAUmsafe_struct@@@ZA, eax ; MSafe_DoPowerup
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 664
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA, ecx ; Obj_Create
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 665
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Game_GetTime@@3P6AMXZA, edx ; Game_GetTime
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 666
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Game_GetFrameTime@@3P6AMXZA, eax ; Game_GetFrameTime
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 667
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA, ecx ; Obj_WBValue
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 668
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_TimerExists@@3P6AEH@ZA, edx ; Scrpt_TimerExists
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 669
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA, eax ; Obj_Value
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 670
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Matcen_Value@@3P6AXHDDPAXH@ZA, ecx ; Matcen_Value
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 671
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Matcen_Reset@@3P6AXH@ZA, edx ; Matcen_Reset
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 672
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Matcen_Copy@@3P6AXHH@ZA, eax ; Matcen_Copy
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 673
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Matcen_Create@@3P6AHPAD@ZA, ecx ; Matcen_Create
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 674
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Matcen_FindID@@3P6AHPAD@ZA, edx ; Matcen_FindID
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 675
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Msn_FlagSet@@3P6AXHE@ZA, eax ; Msn_FlagSet
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 676
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Msn_FlagGet@@3P6AHH@ZA, ecx ; Msn_FlagGet
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 677
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA, edx ; Player_Value
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 678
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA, eax ; Obj_SetCustomAnim
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 679
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Player_AddHudMessage@@3P6AXHPAD@ZA, ecx ; Player_AddHudMessage
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 680
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_Ghost@@3P6AXH_N@ZA, edx ; Obj_Ghost
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 681
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA, eax ; Obj_Burning
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 682
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_IsEffect@@3P6A_NHH@ZA, ecx ; Obj_IsEffect
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 683
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_Open@@3P6APAXPBD0@ZA, edx ; File_Open
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 684
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?File_Close@@3P6AXPAX@ZA, eax ; File_Close
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 685
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?File_Tell@@3P6AHPAX@ZA, ecx ; File_Tell
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 686
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?File_eof@@3P6AEPAX@ZA, edx ; File_eof
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 687
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Sound_Stop@@3P6AXH_N@ZA, eax ; Sound_Stop
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 688
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Sound_Play2d@@3P6AHHHM@ZA, ecx ; Sound_Play2d
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 689
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA, edx ; Sound_Play3d
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 690
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA, eax ; Sound_FindId
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 691
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_IsObjFriend@@3P6A_NHH@ZA, ecx ; AI_IsObjFriend
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 692
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_IsObjEnemy@@3P6A_NHH@ZA, edx ; AI_IsObjEnemy
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 693
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA, eax ; AI_GoalValue
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 694
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA, ecx ; AI_GetNearbyObjs
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 695
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?AI_GetCurGoalIndex@@3P6ADH@ZA, edx ; AI_GetCurGoalIndex
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 696
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?OMMS_Malloc@@3P6AHIIPAD@ZA, eax ; OMMS_Malloc
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 697
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?OMMS_Attach@@3P6APAXH@ZA, ecx ; OMMS_Attach
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 698
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?OMMS_Detach@@3P6AXH@ZA, edx ; OMMS_Detach
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 699
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?OMMS_Free@@3P6AXH@ZA, eax ; OMMS_Free
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 700
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?OMMS_Find@@3P6AHIPAD@ZA, ecx ; OMMS_Find
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 701
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?OMMS_GetInfo@@3P6ADHPAI0PAGPAE@ZA, edx ; OMMS_GetInfo
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 702
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Cine_Start@@3P6A_NPAUtGameCinematic@@PAD@ZA, eax ; Cine_Start
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 703
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Cine_Stop@@3P6AXXZA, ecx ; Cine_Stop
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 704
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_FindSoundName@@3P6AHPAD@ZA, edx ; Scrpt_FindSoundName
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 705
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Scrpt_FindRoomName@@3P6AHPAD@ZA, eax ; Scrpt_FindRoomName
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 706
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Scrpt_FindTriggerName@@3P6AHPAD@ZA, ecx ; Scrpt_FindTriggerName
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 707
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA, edx ; Scrpt_FindObjectName
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 708
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Scrpt_GetTriggerRoom@@3P6AHH@ZA, eax ; Scrpt_GetTriggerRoom
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 709
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Scrpt_GetTriggerFace@@3P6AHH@ZA, ecx ; Scrpt_GetTriggerFace
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 710
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_FindDoorName@@3P6AHPAD@ZA, edx ; Scrpt_FindDoorName
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 711
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Scrpt_FindTextureName@@3P6AHPAD@ZA, eax ; Scrpt_FindTextureName
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 712
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Game_CreateRandomSparks@@3P6AXHPAUvector@@HHM@ZA, ecx ; Game_CreateRandomSparks
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 713
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_CancelTimerID@@3P6AXH@ZA, edx ; Scrpt_CancelTimerID
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 714
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Obj_GetGroundPos@@3P6AXHHPAUvector@@0@ZA, eax ; Obj_GetGroundPos
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 715
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Game_EnableShip@@3P6AXPAD_N@ZA, ecx ; Game_EnableShip
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 716
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Game_IsShipEnabled@@3P6A_NPAD@ZA, edx ; Game_IsShipEnabled
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 717
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Path_GetInformation@@3P6A_NHHPAUvector@@PAHPAUmatrix@@@ZA, eax ; Path_GetInformation
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 718
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Cine_StartCanned@@3P6AXPAUtCannedCinematicInfo@@@ZA, ecx ; Cine_StartCanned
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 719
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Scrpt_FindMatcenName@@3P6AHPAD@ZA, edx ; Scrpt_FindMatcenName
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 720
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Scrpt_FindPathName@@3P6AHPAD@ZA, eax ; Scrpt_FindPathName
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 721
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Scrpt_FindLevelGoalName@@3P6AHPAD@ZA, ecx ; Scrpt_FindLevelGoalName
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 722
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_FindType@@3P6AHPAD@ZA, edx ; Obj_FindType
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 723
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA, eax ; LGoal_Value
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 724
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA, ecx ; Obj_MakeListOfType
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 725
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA, edx ; Obj_Kill
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 727
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?AI_IsDestReachable@@3P6A_NHH@ZA, eax ; AI_IsDestReachable
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 728
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?AI_IsObjReachable@@3P6A_NHH@ZA, ecx ; AI_IsObjReachable
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 729
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _mi$[ebp]
mov edx, DWORD PTR [ecx+eax*4]
mov DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA, edx ; Game_GetDiffLevel
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
; Line 730
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _mi$[ebp]
mov eax, DWORD PTR [edx+ecx*4]
mov DWORD PTR ?Game_GetLanguage@@3P6AHXZA, eax ; Game_GetLanguage
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 731
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _mi$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
mov DWORD PTR ?Path_Value@@3P6AXHHDHPAX@ZA, ecx ; Path_Value
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
; Line 732
mov esp, ebp
pop ebp
ret 0
?osicommon_Initialize@@YAXPAUtOSIRISModuleInit@@@Z ENDP ; osicommon_Initialize
_TEXT ENDS
PUBLIC ?InitMathTables@@YAXXZ ; InitMathTables
PUBLIC __real@8@40078000000000000000
PUBLIC __real@8@4000c90fdaa2922a8000
PUBLIC __real@8@4001c90fdaa2922a8000
PUBLIC __real@8@400f8000000000000000
EXTRN _time:NEAR
EXTRN __ftol:NEAR
EXTRN _srand:NEAR
EXTRN _acos:NEAR
EXTRN _asin:NEAR
EXTRN _sin:NEAR
; COMDAT __real@8@40078000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@8@40078000000000000000 DQ 04070000000000000r ; 256
CONST ENDS
; COMDAT __real@8@4000c90fdaa2922a8000
CONST SEGMENT
__real@8@4000c90fdaa2922a8000 DQ 0400921fb54524550r ; 3.14159
CONST ENDS
; COMDAT __real@8@4001c90fdaa2922a8000
CONST SEGMENT
__real@8@4001c90fdaa2922a8000 DQ 0401921fb54524550r ; 6.28319
CONST ENDS
; COMDAT __real@8@400f8000000000000000
CONST SEGMENT
__real@8@400f8000000000000000 DQ 040f0000000000000r ; 65536
CONST ENDS
_TEXT SEGMENT
_i$ = -16
_rad$ = -12
_s$ = -8
_c$ = -4
?InitMathTables@@YAXXZ PROC NEAR ; InitMathTables
; File osiris_vector.h
; Line 71
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 75
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L3131
$L3132:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3131:
cmp DWORD PTR _i$[ebp], 321 ; 00000141H
jge SHORT $L3133
; Line 76
fild DWORD PTR _i$[ebp]
fdiv QWORD PTR __real@8@40078000000000000000
fadd ST(0), ST(0)
fmul QWORD PTR __real@8@4000c90fdaa2922a8000
fst DWORD PTR _rad$[ebp]
; Line 77
sub esp, 8
fstp QWORD PTR [esp]
call _sin
add esp, 8
mov ecx, DWORD PTR _i$[ebp]
fstp DWORD PTR ?sincos_table@@3PAMA[ecx*4]
; Line 78
jmp SHORT $L3132
$L3133:
; Line 80
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L3137
$L3138:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L3137:
cmp DWORD PTR _i$[ebp], 256 ; 00000100H
jge $L3139
; Line 82
fild DWORD PTR _i$[ebp]
fdiv QWORD PTR __real@8@40078000000000000000
sub esp, 8
fstp QWORD PTR [esp]
call _asin
add esp, 8
fstp DWORD PTR _s$[ebp]
; Line 83
fild DWORD PTR _i$[ebp]
fdiv QWORD PTR __real@8@40078000000000000000
sub esp, 8
fstp QWORD PTR [esp]
call _acos
add esp, 8
fstp DWORD PTR _c$[ebp]
; Line 85
fld DWORD PTR _s$[ebp]
fdiv QWORD PTR __real@8@4001c90fdaa2922a8000
fstp DWORD PTR _s$[ebp]
; Line 86
fld DWORD PTR _c$[ebp]
fdiv QWORD PTR __real@8@4001c90fdaa2922a8000
fstp DWORD PTR _c$[ebp]
; Line 88
fld DWORD PTR _s$[ebp]
fmul QWORD PTR __real@8@400f8000000000000000
call __ftol
mov ecx, DWORD PTR _i$[ebp]
mov WORD PTR ?asin_table@@3PAGA[ecx*2], ax
; Line 89
fld DWORD PTR _c$[ebp]
fmul QWORD PTR __real@8@400f8000000000000000
call __ftol
mov edx, DWORD PTR _i$[ebp]
mov WORD PTR ?acos_table@@3PAGA[edx*2], ax
; Line 90
jmp $L3138
$L3139:
; Line 92
mov ax, WORD PTR ?asin_table@@3PAGA+510
mov WORD PTR ?asin_table@@3PAGA+512, ax
; Line 93
mov cx, WORD PTR ?acos_table@@3PAGA+510
mov WORD PTR ?acos_table@@3PAGA+512, cx
; Line 96
push 0
call _time
add esp, 4
push eax
call _srand
add esp, 4
; Line 97
mov esp, ebp
pop ebp
ret 0
?InitMathTables@@YAXXZ ENDP ; InitMathTables
_TEXT ENDS
PUBLIC ?FixSin@@YAMG@Z ; FixSin
_TEXT SEGMENT
_a$ = 8
_i$ = -16
_f$ = -12
_s0$ = -4
_s1$ = -8
?FixSin@@YAMG@Z PROC NEAR ; FixSin
; Line 101
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
; Line 105
mov eax, DWORD PTR _a$[ebp]
and eax, 65535 ; 0000ffffH
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 106
mov ecx, DWORD PTR _a$[ebp]
and ecx, 65535 ; 0000ffffH
and ecx, 255 ; 000000ffH
mov DWORD PTR _f$[ebp], ecx
; Line 108
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR ?sincos_table@@3PAMA[edx*4]
mov DWORD PTR _s0$[ebp], eax
; Line 109
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR ?sincos_table@@3PAMA[ecx*4+4]
mov DWORD PTR _s1$[ebp], edx
; Line 110
fld DWORD PTR _s0$[ebp]
fld DWORD PTR _s1$[ebp]
fsub DWORD PTR _s0$[ebp]
fimul DWORD PTR _f$[ebp]
fdiv QWORD PTR __real@8@40078000000000000000
faddp ST(1), ST(0)
fst DWORD PTR -20+[ebp]
; Line 111
mov esp, ebp
pop ebp
ret 0
?FixSin@@YAMG@Z ENDP ; FixSin
_TEXT ENDS
PUBLIC ?FixCos@@YAMG@Z ; FixCos
_TEXT SEGMENT
_a$ = 8
_i$ = -16
_f$ = -12
_c0$ = -4
_c1$ = -8
?FixCos@@YAMG@Z PROC NEAR ; FixCos
; Line 115
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
; Line 119
mov eax, DWORD PTR _a$[ebp]
and eax, 65535 ; 0000ffffH
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 120
mov ecx, DWORD PTR _a$[ebp]
and ecx, 65535 ; 0000ffffH
and ecx, 255 ; 000000ffH
mov DWORD PTR _f$[ebp], ecx
; Line 122
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR ?sincos_table@@3PAMA[edx*4+256]
mov DWORD PTR _c0$[ebp], eax
; Line 123
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR ?sincos_table@@3PAMA[ecx*4+260]
mov DWORD PTR _c1$[ebp], edx
; Line 124
fld DWORD PTR _c0$[ebp]
fld DWORD PTR _c1$[ebp]
fsub DWORD PTR _c0$[ebp]
fimul DWORD PTR _f$[ebp]
fdiv QWORD PTR __real@8@40078000000000000000
faddp ST(1), ST(0)
fst DWORD PTR -20+[ebp]
; Line 125
mov esp, ebp
pop ebp
ret 0
?FixCos@@YAMG@Z ENDP ; FixCos
_TEXT ENDS
PUBLIC ?FixSinFast@@YAMG@Z ; FixSinFast
_TEXT SEGMENT
_a$ = 8
_i$ = -4
?FixSinFast@@YAMG@Z PROC NEAR ; FixSinFast
; Line 129
push ebp
mov ebp, esp
push ecx
; Line 132
mov eax, DWORD PTR _a$[ebp]
and eax, 65535 ; 0000ffffH
add eax, 128 ; 00000080H
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 134
mov ecx, DWORD PTR _i$[ebp]
fld DWORD PTR ?sincos_table@@3PAMA[ecx*4]
; Line 135
mov esp, ebp
pop ebp
ret 0
?FixSinFast@@YAMG@Z ENDP ; FixSinFast
_TEXT ENDS
PUBLIC ?FixCosFast@@YAMG@Z ; FixCosFast
_TEXT SEGMENT
_a$ = 8
_i$ = -4
?FixCosFast@@YAMG@Z PROC NEAR ; FixCosFast
; Line 139
push ebp
mov ebp, esp
push ecx
; Line 142
mov eax, DWORD PTR _a$[ebp]
and eax, 65535 ; 0000ffffH
add eax, 128 ; 00000080H
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 144
mov ecx, DWORD PTR _i$[ebp]
fld DWORD PTR ?sincos_table@@3PAMA[ecx*4+256]
; Line 145
mov esp, ebp
pop ebp
ret 0
?FixCosFast@@YAMG@Z ENDP ; FixCosFast
_TEXT ENDS
PUBLIC ?FloatRound@@YAHM@Z ; FloatRound
PUBLIC __real@4@40168008000000000000
; COMDAT __real@4@40168008000000000000
; File osiris_vector.h
CONST SEGMENT
__real@4@40168008000000000000 DD 04b000800r ; 8.39066e+006
CONST ENDS
_TEXT SEGMENT
_x$ = 8
_nf$ = -4
?FloatRound@@YAHM@Z PROC NEAR ; FloatRound
; File osiris_vector.h
; Line 156
push ebp
mov ebp, esp
push ecx
; Line 158
fld DWORD PTR _x$[ebp]
fadd DWORD PTR __real@4@40168008000000000000
fstp DWORD PTR _nf$[ebp]
; Line 159
mov eax, DWORD PTR _nf$[ebp]
and eax, 8388607 ; 007fffffH
sub eax, 2048 ; 00000800H
; Line 160
mov esp, ebp
pop ebp
ret 0
?FloatRound@@YAHM@Z ENDP ; FloatRound
_TEXT ENDS
PUBLIC ?FloatToFixFast@@YAJM@Z ; FloatToFixFast
PUBLIC __real@4@400f8000000000000000
; COMDAT __real@4@400f8000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@4@400f8000000000000000 DD 047800000r ; 65536
CONST ENDS
_TEXT SEGMENT
_x$ = 8
_nf$ = -4
?FloatToFixFast@@YAJM@Z PROC NEAR ; FloatToFixFast
; File osiris_vector.h
; Line 164
push ebp
mov ebp, esp
push ecx
; Line 167
fld DWORD PTR _x$[ebp]
fmul DWORD PTR __real@4@400f8000000000000000
fadd DWORD PTR __real@4@40168008000000000000
fstp DWORD PTR _nf$[ebp]
; Line 168
mov eax, DWORD PTR _nf$[ebp]
and eax, 8388607 ; 007fffffH
sub eax, 2048 ; 00000800H
; Line 169
mov esp, ebp
pop ebp
ret 0
?FloatToFixFast@@YAJM@Z ENDP ; FloatToFixFast
_TEXT ENDS
PUBLIC ?FixAsin@@YAGM@Z ; FixAsin
PUBLIC __real@4@00000000000000000000
EXTRN _fabs:NEAR
; COMDAT __real@4@00000000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@4@00000000000000000000 DD 000000000r ; 0
CONST ENDS
_TEXT SEGMENT
_v$ = 8
_vv$ = -4
_i$ = -12
_f$ = -8
_aa$ = -16
?FixAsin@@YAGM@Z PROC NEAR ; FixAsin
; File osiris_vector.h
; Line 176
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 180
fld DWORD PTR _v$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fmul QWORD PTR __real@8@400f8000000000000000
call __ftol
mov DWORD PTR _vv$[ebp], eax
; Line 182
cmp DWORD PTR _vv$[ebp], 65536 ; 00010000H
jl SHORT $L3188
; Line 183
mov ax, 16384 ; 00004000H
jmp SHORT $L3182
$L3188:
; Line 185
mov eax, DWORD PTR _vv$[ebp]
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 186
mov ecx, DWORD PTR _vv$[ebp]
and ecx, 255 ; 000000ffH
mov DWORD PTR _f$[ebp], ecx
; Line 188
mov edx, DWORD PTR _i$[ebp]
xor eax, eax
mov ax, WORD PTR ?asin_table@@3PAGA[edx*2]
mov DWORD PTR _aa$[ebp], eax
; Line 189
mov ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dx, WORD PTR ?asin_table@@3PAGA[ecx*2+2]
sub edx, DWORD PTR _aa$[ebp]
imul edx, DWORD PTR _f$[ebp]
sar edx, 8
mov eax, DWORD PTR _aa$[ebp]
add eax, edx
mov DWORD PTR _aa$[ebp], eax
; Line 191
fld DWORD PTR _v$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L3189
; Line 192
mov ecx, 65536 ; 00010000H
sub ecx, DWORD PTR _aa$[ebp]
mov DWORD PTR _aa$[ebp], ecx
$L3189:
; Line 194
mov ax, WORD PTR _aa$[ebp]
$L3182:
; Line 195
mov esp, ebp
pop ebp
ret 0
?FixAsin@@YAGM@Z ENDP ; FixAsin
_TEXT ENDS
PUBLIC ?FixAcos@@YAGM@Z ; FixAcos
_TEXT SEGMENT
_v$ = 8
_vv$ = -4
_i$ = -12
_f$ = -8
_aa$ = -16
?FixAcos@@YAGM@Z PROC NEAR ; FixAcos
; Line 199
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 203
fld DWORD PTR _v$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fmul QWORD PTR __real@8@400f8000000000000000
call __ftol
mov DWORD PTR _vv$[ebp], eax
; Line 205
cmp DWORD PTR _vv$[ebp], 65536 ; 00010000H
jl SHORT $L3198
; Line 206
xor ax, ax
jmp SHORT $L3192
$L3198:
; Line 208
mov eax, DWORD PTR _vv$[ebp]
sar eax, 8
and eax, 255 ; 000000ffH
mov DWORD PTR _i$[ebp], eax
; Line 209
mov ecx, DWORD PTR _vv$[ebp]
and ecx, 255 ; 000000ffH
mov DWORD PTR _f$[ebp], ecx
; Line 211
mov edx, DWORD PTR _i$[ebp]
xor eax, eax
mov ax, WORD PTR ?acos_table@@3PAGA[edx*2]
mov DWORD PTR _aa$[ebp], eax
; Line 212
mov ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dx, WORD PTR ?acos_table@@3PAGA[ecx*2+2]
sub edx, DWORD PTR _aa$[ebp]
imul edx, DWORD PTR _f$[ebp]
sar edx, 8
mov eax, DWORD PTR _aa$[ebp]
add eax, edx
mov DWORD PTR _aa$[ebp], eax
; Line 214
fld DWORD PTR _v$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L3199
; Line 215
mov ecx, 32768 ; 00008000H
sub ecx, DWORD PTR _aa$[ebp]
mov DWORD PTR _aa$[ebp], ecx
$L3199:
; Line 217
mov ax, WORD PTR _aa$[ebp]
$L3192:
; Line 218
mov esp, ebp
pop ebp
ret 0
?FixAcos@@YAGM@Z ENDP ; FixAcos
_TEXT ENDS
PUBLIC ?FixAtan2@@YAGMM@Z ; FixAtan2
EXTRN _sqrt:NEAR
_TEXT SEGMENT
_cos$ = 8
_sin$ = 12
_q$ = -4
_m$ = -12
_t$ = -8
?FixAtan2@@YAGMM@Z PROC NEAR ; FixAtan2
; Line 226
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
; Line 233
fld DWORD PTR _sin$[ebp]
fmul DWORD PTR _sin$[ebp]
fld DWORD PTR _cos$[ebp]
fmul DWORD PTR _cos$[ebp]
faddp ST(1), ST(0)
fst DWORD PTR _q$[ebp]
; Line 235
sub esp, 8
fstp QWORD PTR [esp]
call _sqrt
add esp, 8
fstp DWORD PTR _m$[ebp]
; Line 237
fld DWORD PTR _m$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3207
; Line 238
xor ax, ax
jmp $L3210
$L3207:
; Line 240
fld DWORD PTR _sin$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
fstp QWORD PTR -20+[ebp]
add esp, 8
fld DWORD PTR _cos$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fcomp QWORD PTR -20+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L3208
; Line 243
fld DWORD PTR _sin$[ebp]
fdiv DWORD PTR _m$[ebp]
push ecx
fstp DWORD PTR [esp]
call ?FixAsin@@YAGM@Z ; FixAsin
add esp, 4
mov WORD PTR _t$[ebp], ax
; Line 244
fld DWORD PTR _cos$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L3209
; Line 245
mov eax, DWORD PTR _t$[ebp]
and eax, 65535 ; 0000ffffH
mov ecx, 32768 ; 00008000H
sub ecx, eax
mov WORD PTR _t$[ebp], cx
$L3209:
; Line 247
mov ax, WORD PTR _t$[ebp]
jmp SHORT $L3210
$L3208:
; Line 251
fld DWORD PTR _cos$[ebp]
fdiv DWORD PTR _m$[ebp]
push ecx
fstp DWORD PTR [esp]
call ?FixAcos@@YAGM@Z ; FixAcos
add esp, 4
mov WORD PTR _t$[ebp], ax
; Line 252
fld DWORD PTR _sin$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L3211
; Line 253
mov edx, DWORD PTR _t$[ebp]
and edx, 65535 ; 0000ffffH
mov eax, 65536 ; 00010000H
sub eax, edx
mov WORD PTR _t$[ebp], ax
$L3211:
; Line 255
mov ax, WORD PTR _t$[ebp]
$L3210:
; Line 258
mov esp, ebp
pop ebp
ret 0
?FixAtan2@@YAGMM@Z ENDP ; FixAtan2
_TEXT ENDS
PUBLIC ?FixCeil@@YAJJ@Z ; FixCeil
_TEXT SEGMENT
_num$ = 8
_int_num$ = -8
_new_num$ = -4
?FixCeil@@YAJJ@Z PROC NEAR ; FixCeil
; Line 263
push ebp
mov ebp, esp
sub esp, 8
; Line 267
mov eax, DWORD PTR _num$[ebp]
sar eax, 16 ; 00000010H
mov DWORD PTR _int_num$[ebp], eax
; Line 269
mov ecx, DWORD PTR _num$[ebp]
and ecx, 65535 ; 0000ffffH
test ecx, ecx
je SHORT $L3217
; Line 271
mov edx, DWORD PTR _int_num$[ebp]
add edx, 1
shl edx, 16 ; 00000010H
mov DWORD PTR _new_num$[ebp], edx
; Line 272
mov eax, DWORD PTR _new_num$[ebp]
jmp SHORT $L3214
$L3217:
; Line 275
mov eax, DWORD PTR _int_num$[ebp]
shl eax, 16 ; 00000010H
mov DWORD PTR _new_num$[ebp], eax
; Line 276
mov eax, DWORD PTR _new_num$[ebp]
$L3214:
; Line 277
mov esp, ebp
pop ebp
ret 0
?FixCeil@@YAJJ@Z ENDP ; FixCeil
_TEXT ENDS
PUBLIC ?FixFloor@@YAJJ@Z ; FixFloor
_TEXT SEGMENT
_num$ = 8
_int_num$ = -4
?FixFloor@@YAJJ@Z PROC NEAR ; FixFloor
; Line 281
push ebp
mov ebp, esp
push ecx
; Line 282
mov eax, DWORD PTR _num$[ebp]
sar eax, 16 ; 00000010H
mov DWORD PTR _int_num$[ebp], eax
; Line 284
mov eax, DWORD PTR _int_num$[ebp]
shl eax, 16 ; 00000010H
; Line 285
mov esp, ebp
pop ebp
ret 0
?FixFloor@@YAJJ@Z ENDP ; FixFloor
_TEXT ENDS
PUBLIC ?vm_AverageVector@@YAXPAUvector@@H@Z ; vm_AverageVector
_TEXT SEGMENT
_a$ = 8
_num$ = 12
?vm_AverageVector@@YAXPAUvector@@H@Z PROC NEAR ; vm_AverageVector
; Line 477
push ebp
mov ebp, esp
; Line 481
fild DWORD PTR _num$[ebp]
mov eax, DWORD PTR _a$[ebp]
fdivr DWORD PTR [eax]
mov ecx, DWORD PTR _a$[ebp]
fstp DWORD PTR [ecx]
; Line 482
fild DWORD PTR _num$[ebp]
mov edx, DWORD PTR _a$[ebp]
fdivr DWORD PTR [edx+4]
mov eax, DWORD PTR _a$[ebp]
fstp DWORD PTR [eax+4]
; Line 483
fild DWORD PTR _num$[ebp]
mov ecx, DWORD PTR _a$[ebp]
fdivr DWORD PTR [ecx+8]
mov edx, DWORD PTR _a$[ebp]
fstp DWORD PTR [edx+8]
; Line 484
pop ebp
ret 0
?vm_AverageVector@@YAXPAUvector@@H@Z ENDP ; vm_AverageVector
_TEXT ENDS
PUBLIC ?vm_AddVectors@@YAXPAUvector@@00@Z ; vm_AddVectors
_TEXT SEGMENT
_result$ = 8
_a$ = 12
_b$ = 16
?vm_AddVectors@@YAXPAUvector@@00@Z PROC NEAR ; vm_AddVectors
; Line 487
push ebp
mov ebp, esp
; Line 490
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax]
fadd DWORD PTR [ecx]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx]
; Line 491
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax+4]
fadd DWORD PTR [ecx+4]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+4]
; Line 492
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax+8]
fadd DWORD PTR [ecx+8]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+8]
; Line 493
pop ebp
ret 0
?vm_AddVectors@@YAXPAUvector@@00@Z ENDP ; vm_AddVectors
_TEXT ENDS
PUBLIC ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
_TEXT SEGMENT
_result$ = 8
_a$ = 12
_b$ = 16
?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z PROC NEAR ; vm_SubVectors
; Line 497
push ebp
mov ebp, esp
; Line 500
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax]
fsub DWORD PTR [ecx]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx]
; Line 501
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax+4]
fsub DWORD PTR [ecx+4]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+4]
; Line 502
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _b$[ebp]
fld DWORD PTR [eax+8]
fsub DWORD PTR [ecx+8]
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+8]
; Line 503
pop ebp
ret 0
?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ENDP ; vm_SubVectors
_TEXT ENDS
PUBLIC ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
PUBLIC ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
_TEXT SEGMENT
_a$ = 8
_b$ = 12
_dest$ = -12
_dist$ = -16
?vm_VectorDistance@@YAMPBUvector@@0@Z PROC NEAR ; vm_VectorDistance
; Line 506
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 512
mov eax, DWORD PTR _b$[ebp]
push eax
mov ecx, DWORD PTR _a$[ebp]
push ecx
lea edx, DWORD PTR _dest$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 513
lea eax, DWORD PTR _dest$[ebp]
push eax
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fst DWORD PTR _dist$[ebp]
; Line 515
mov esp, ebp
pop ebp
ret 0
?vm_VectorDistance@@YAMPBUvector@@0@Z ENDP ; vm_VectorDistance
_TEXT ENDS
PUBLIC ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
PUBLIC ?vm_VectorDistanceQuick@@YAMPAUvector@@0@Z ; vm_VectorDistanceQuick
_TEXT SEGMENT
_a$ = 8
_b$ = 12
_dest$ = -12
_dist$ = -16
?vm_VectorDistanceQuick@@YAMPAUvector@@0@Z PROC NEAR ; vm_VectorDistanceQuick
; Line 517
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 523
mov eax, DWORD PTR _b$[ebp]
push eax
mov ecx, DWORD PTR _a$[ebp]
push ecx
lea edx, DWORD PTR _dest$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 524
lea eax, DWORD PTR _dest$[ebp]
push eax
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fst DWORD PTR _dist$[ebp]
; Line 526
mov esp, ebp
pop ebp
ret 0
?vm_VectorDistanceQuick@@YAMPAUvector@@0@Z ENDP ; vm_VectorDistanceQuick
_TEXT ENDS
PUBLIC ?vm_CrossProduct@@YAXPAUvector@@00@Z ; vm_CrossProduct
PUBLIC ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
_TEXT SEGMENT
_n$ = 8
_a$ = 12
_b$ = 16
_c$ = 20
_x$ = -12
_y$ = -24
?vm_GetPerp@@YAXPAUvector@@000@Z PROC NEAR ; vm_GetPerp
; Line 532
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 538
mov eax, DWORD PTR _a$[ebp]
push eax
mov ecx, DWORD PTR _b$[ebp]
push ecx
lea edx, DWORD PTR _x$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 539
mov eax, DWORD PTR _b$[ebp]
push eax
mov ecx, DWORD PTR _c$[ebp]
push ecx
lea edx, DWORD PTR _y$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 541
lea eax, DWORD PTR _y$[ebp]
push eax
lea ecx, DWORD PTR _x$[ebp]
push ecx
mov edx, DWORD PTR _n$[ebp]
push edx
call ?vm_CrossProduct@@YAXPAUvector@@00@Z ; vm_CrossProduct
add esp, 12 ; 0000000cH
; Line 542
mov esp, ebp
pop ebp
ret 0
?vm_GetPerp@@YAXPAUvector@@000@Z ENDP ; vm_GetPerp
_TEXT ENDS
PUBLIC ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
PUBLIC ?vm_GetNormal@@YAMPAUvector@@000@Z ; vm_GetNormal
_TEXT SEGMENT
_n$ = 8
_v0$ = 12
_v1$ = 16
_v2$ = 20
?vm_GetNormal@@YAMPAUvector@@000@Z PROC NEAR ; vm_GetNormal
; Line 550
push ebp
mov ebp, esp
; Line 551
mov eax, DWORD PTR _v2$[ebp]
push eax
mov ecx, DWORD PTR _v1$[ebp]
push ecx
mov edx, DWORD PTR _v0$[ebp]
push edx
mov eax, DWORD PTR _n$[ebp]
push eax
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 553
mov ecx, DWORD PTR _n$[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
; Line 554
pop ebp
ret 0
?vm_GetNormal@@YAMPAUvector@@000@Z ENDP ; vm_GetNormal
_TEXT ENDS
PUBLIC ?vm_DotProduct@@YAMPAUvector@@0@Z ; vm_DotProduct
_TEXT SEGMENT
_u$ = 8
_v$ = 12
?vm_DotProduct@@YAMPAUvector@@0@Z PROC NEAR ; vm_DotProduct
; Line 559
push ebp
mov ebp, esp
; Line 560
mov eax, DWORD PTR _u$[ebp]
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR [eax]
fmul DWORD PTR [ecx]
mov edx, DWORD PTR _u$[ebp]
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR [edx+4]
fmul DWORD PTR [eax+4]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _u$[ebp]
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR [ecx+8]
fmul DWORD PTR [edx+8]
faddp ST(1), ST(0)
; Line 561
pop ebp
ret 0
?vm_DotProduct@@YAMPAUvector@@0@Z ENDP ; vm_DotProduct
_TEXT ENDS
PUBLIC ?vm_ScaleVector@@YAXPAUvector@@0M@Z ; vm_ScaleVector
_TEXT SEGMENT
_d$ = 8
_v$ = 12
_s$ = 16
?vm_ScaleVector@@YAXPAUvector@@0M@Z PROC NEAR ; vm_ScaleVector
; Line 566
push ebp
mov ebp, esp
; Line 567
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [eax]
mov ecx, DWORD PTR _d$[ebp]
fstp DWORD PTR [ecx]
; Line 568
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [edx+4]
mov eax, DWORD PTR _d$[ebp]
fstp DWORD PTR [eax+4]
; Line 569
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [ecx+8]
mov edx, DWORD PTR _d$[ebp]
fstp DWORD PTR [edx+8]
; Line 570
pop ebp
ret 0
?vm_ScaleVector@@YAXPAUvector@@0M@Z ENDP ; vm_ScaleVector
_TEXT ENDS
PUBLIC ?vm_ScaleAddVector@@YAXPAUvector@@00M@Z ; vm_ScaleAddVector
_TEXT SEGMENT
_d$ = 8
_p$ = 12
_v$ = 16
_s$ = 20
?vm_ScaleAddVector@@YAXPAUvector@@00M@Z PROC NEAR ; vm_ScaleAddVector
; Line 574
push ebp
mov ebp, esp
; Line 579
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [eax]
mov ecx, DWORD PTR _p$[ebp]
fadd DWORD PTR [ecx]
mov edx, DWORD PTR _d$[ebp]
fstp DWORD PTR [edx]
; Line 580
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [eax+4]
mov ecx, DWORD PTR _p$[ebp]
fadd DWORD PTR [ecx+4]
mov edx, DWORD PTR _d$[ebp]
fstp DWORD PTR [edx+4]
; Line 581
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR _s$[ebp]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _p$[ebp]
fadd DWORD PTR [ecx+8]
mov edx, DWORD PTR _d$[ebp]
fstp DWORD PTR [edx+8]
; Line 582
pop ebp
ret 0
?vm_ScaleAddVector@@YAXPAUvector@@00M@Z ENDP ; vm_ScaleAddVector
_TEXT ENDS
PUBLIC ?vm_DivVector@@YAXPAUvector@@0M@Z ; vm_DivVector
_TEXT SEGMENT
_dest$ = 8
_src$ = 12
_n$ = 16
?vm_DivVector@@YAXPAUvector@@0M@Z PROC NEAR ; vm_DivVector
; Line 585
push ebp
mov ebp, esp
; Line 592
mov eax, DWORD PTR _src$[ebp]
fld DWORD PTR [eax]
fdiv DWORD PTR _n$[ebp]
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx]
; Line 593
mov edx, DWORD PTR _src$[ebp]
fld DWORD PTR [edx+4]
fdiv DWORD PTR _n$[ebp]
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+4]
; Line 594
mov ecx, DWORD PTR _src$[ebp]
fld DWORD PTR [ecx+8]
fdiv DWORD PTR _n$[ebp]
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+8]
; Line 595
pop ebp
ret 0
?vm_DivVector@@YAXPAUvector@@0M@Z ENDP ; vm_DivVector
_dest$ = 8
_u$ = 12
_v$ = 16
?vm_CrossProduct@@YAXPAUvector@@00@Z PROC NEAR ; vm_CrossProduct
; Line 598
push ebp
mov ebp, esp
; Line 602
mov eax, DWORD PTR _u$[ebp]
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR [ecx+8]
mov edx, DWORD PTR _u$[ebp]
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR [edx+8]
fmul DWORD PTR [eax+4]
fsubp ST(1), ST(0)
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx]
; Line 603
mov edx, DWORD PTR _u$[ebp]
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR [edx+8]
fmul DWORD PTR [eax]
mov ecx, DWORD PTR _u$[ebp]
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR [ecx]
fmul DWORD PTR [edx+8]
fsubp ST(1), ST(0)
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+4]
; Line 604
mov ecx, DWORD PTR _u$[ebp]
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR [ecx]
fmul DWORD PTR [edx+4]
mov eax, DWORD PTR _u$[ebp]
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR [ecx]
fsubp ST(1), ST(0)
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+8]
; Line 605
pop ebp
ret 0
?vm_CrossProduct@@YAXPAUvector@@00@Z ENDP ; vm_CrossProduct
_TEXT ENDS
PUBLIC ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
_TEXT SEGMENT
$T10501 = -16
$T10502 = -28
_a$ = 8
_mag$ = -4
?vm_VectorNormalize@@YAMPAUvector@@@Z PROC NEAR ; vm_VectorNormalize
; Line 610
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
; Line 613
mov eax, DWORD PTR _a$[ebp]
push eax
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fstp DWORD PTR _mag$[ebp]
; Line 615
fld DWORD PTR _mag$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L3474
; Line 616
mov ecx, DWORD PTR _mag$[ebp]
push ecx
mov edx, DWORD PTR _a$[ebp]
push edx
lea eax, DWORD PTR $T10502[ebp]
push eax
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10501[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10501[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10501[ebp+8], eax
; Line 617
jmp SHORT $L3476
$L3474:
; Line 619
mov ecx, DWORD PTR _a$[ebp]
mov edx, DWORD PTR _Zero_vector
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _Zero_vector+4
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _Zero_vector+8
mov DWORD PTR [ecx+8], edx
; Line 620
mov eax, DWORD PTR _a$[ebp]
mov DWORD PTR [eax], 1065353216 ; 3f800000H
; Line 621
mov DWORD PTR _mag$[ebp], 0
$L3476:
; Line 624
fld DWORD PTR _mag$[ebp]
; Line 625
mov esp, ebp
pop ebp
ret 0
?vm_VectorNormalize@@YAMPAUvector@@@Z ENDP ; vm_VectorNormalize
_TEXT ENDS
PUBLIC ??K@YA?AUvector@@U0@M@Z ; operator/
; COMDAT ??_0@YA?AUvector@@AAU0@M@Z
_TEXT SEGMENT
$T10504 = 8
$T10505 = -12
$T10506 = -24
_src$ = 12
_n$ = 16
??_0@YA?AUvector@@AAU0@M@Z PROC NEAR ; operator/=, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 235
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 236
mov eax, DWORD PTR _n$[ebp]
push eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _src$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10506[ebp]
push edx
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10505[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10505[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10505[ebp+8], eax
mov ecx, DWORD PTR _src$[ebp]
mov edx, DWORD PTR $T10505[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10505[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10505[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR $T10504[ebp]
mov ecx, DWORD PTR $T10505[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10505[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10505[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10504[ebp]
; Line 237
mov esp, ebp
pop ebp
ret 0
??_0@YA?AUvector@@AAU0@M@Z ENDP ; operator/=
_TEXT ENDS
; COMDAT ??K@YA?AUvector@@U0@M@Z
_TEXT SEGMENT
_src$ = 12
$T10508 = 8
_n$ = 24
??K@YA?AUvector@@U0@M@Z PROC NEAR ; operator/, COMDAT
; Line 225
push ebp
mov ebp, esp
; Line 226
fld DWORD PTR _src$[ebp]
fdiv DWORD PTR _n$[ebp]
fstp DWORD PTR _src$[ebp]
; Line 227
fld DWORD PTR _src$[ebp+4]
fdiv DWORD PTR _n$[ebp]
fstp DWORD PTR _src$[ebp+4]
; Line 228
fld DWORD PTR _src$[ebp+8]
fdiv DWORD PTR _n$[ebp]
fstp DWORD PTR _src$[ebp+8]
; Line 230
mov eax, DWORD PTR $T10508[ebp]
mov ecx, DWORD PTR _src$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _src$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _src$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10508[ebp]
; Line 231
pop ebp
ret 0
??K@YA?AUvector@@U0@M@Z ENDP ; operator/
_TEXT ENDS
_TEXT SEGMENT
_a$ = 8
_f$ = -4
?vm_GetMagnitude@@YAMPAUvector@@@Z PROC NEAR ; vm_GetMagnitude
; File osiris_vector.h
; Line 628
push ebp
mov ebp, esp
sub esp, 8
; Line 631
mov eax, DWORD PTR _a$[ebp]
mov ecx, DWORD PTR _a$[ebp]
fld DWORD PTR [eax]
fmul DWORD PTR [ecx]
mov edx, DWORD PTR _a$[ebp]
mov eax, DWORD PTR _a$[ebp]
fld DWORD PTR [edx+4]
fmul DWORD PTR [eax+4]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _a$[ebp]
mov edx, DWORD PTR _a$[ebp]
fld DWORD PTR [ecx+8]
fmul DWORD PTR [edx+8]
faddp ST(1), ST(0)
fst DWORD PTR _f$[ebp]
; Line 633
sub esp, 8
fstp QWORD PTR [esp]
call _sqrt
add esp, 8
fst DWORD PTR -8+[ebp]
; Line 634
mov esp, ebp
pop ebp
ret 0
?vm_GetMagnitude@@YAMPAUvector@@@Z ENDP ; vm_GetMagnitude
_TEXT ENDS
PUBLIC ?vm_ClearMatrix@@YAXPAUmatrix@@@Z ; vm_ClearMatrix
EXTRN _memset:NEAR
_TEXT SEGMENT
_dest$ = 8
?vm_ClearMatrix@@YAXPAUmatrix@@@Z PROC NEAR ; vm_ClearMatrix
; Line 637
push ebp
mov ebp, esp
; Line 638
push 36 ; 00000024H
push 0
mov eax, DWORD PTR _dest$[ebp]
push eax
call _memset
add esp, 12 ; 0000000cH
; Line 639
pop ebp
ret 0
?vm_ClearMatrix@@YAXPAUmatrix@@@Z ENDP ; vm_ClearMatrix
_TEXT ENDS
PUBLIC ?vm_MakeIdentity@@YAXPAUmatrix@@@Z ; vm_MakeIdentity
_TEXT SEGMENT
_dest$ = 8
?vm_MakeIdentity@@YAXPAUmatrix@@@Z PROC NEAR ; vm_MakeIdentity
; Line 642
push ebp
mov ebp, esp
; Line 643
push 36 ; 00000024H
push 0
mov eax, DWORD PTR _dest$[ebp]
push eax
call _memset
add esp, 12 ; 0000000cH
; Line 644
mov ecx, DWORD PTR _dest$[ebp]
mov DWORD PTR [ecx+32], 1065353216 ; 3f800000H
mov edx, DWORD PTR _dest$[ebp]
mov DWORD PTR [edx+16], 1065353216 ; 3f800000H
mov eax, DWORD PTR _dest$[ebp]
mov DWORD PTR [eax], 1065353216 ; 3f800000H
; Line 645
pop ebp
ret 0
?vm_MakeIdentity@@YAXPAUmatrix@@@Z ENDP ; vm_MakeIdentity
_TEXT ENDS
PUBLIC ?vm_MakeInverseMatrix@@YAXPAUmatrix@@@Z ; vm_MakeInverseMatrix
_TEXT SEGMENT
_dest$ = 8
?vm_MakeInverseMatrix@@YAXPAUmatrix@@@Z PROC NEAR ; vm_MakeInverseMatrix
; Line 647
push ebp
mov ebp, esp
; Line 648
push 36 ; 00000024H
push 0
mov eax, DWORD PTR _dest$[ebp]
push eax
call _memset
add esp, 12 ; 0000000cH
; Line 649
mov ecx, DWORD PTR _dest$[ebp]
mov DWORD PTR [ecx+32], -1082130432 ; bf800000H
mov edx, DWORD PTR _dest$[ebp]
mov DWORD PTR [edx+16], -1082130432 ; bf800000H
mov eax, DWORD PTR _dest$[ebp]
mov DWORD PTR [eax], -1082130432 ; bf800000H
; Line 650
pop ebp
ret 0
?vm_MakeInverseMatrix@@YAXPAUmatrix@@@Z ENDP ; vm_MakeInverseMatrix
_TEXT ENDS
PUBLIC ?vm_TransposeMatrix@@YAXPAUmatrix@@@Z ; vm_TransposeMatrix
_TEXT SEGMENT
_m$ = 8
_t$ = -4
?vm_TransposeMatrix@@YAXPAUmatrix@@@Z PROC NEAR ; vm_TransposeMatrix
; Line 653
push ebp
mov ebp, esp
push ecx
; Line 658
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+12]
mov DWORD PTR _t$[ebp], ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+12], ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR _t$[ebp]
mov DWORD PTR [edx+4], eax
; Line 659
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR [ecx+24]
mov DWORD PTR _t$[ebp], edx
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR [ecx+8]
mov DWORD PTR [eax+24], edx
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR _t$[ebp]
mov DWORD PTR [eax+8], ecx
; Line 660
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx+28]
mov DWORD PTR _t$[ebp], eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx+20]
mov DWORD PTR [ecx+28], eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR _t$[ebp]
mov DWORD PTR [ecx+20], edx
; Line 662
mov esp, ebp
pop ebp
ret 0
?vm_TransposeMatrix@@YAXPAUmatrix@@@Z ENDP ; vm_TransposeMatrix
_TEXT ENDS
PUBLIC ?vm_MatrixMulVector@@YAXPAUvector@@0PAUmatrix@@@Z ; vm_MatrixMulVector
PUBLIC ??D@YAMUvector@@0@Z ; operator*
_TEXT SEGMENT
_result$ = 8
_v$ = 12
_m$ = 16
?vm_MatrixMulVector@@YAXPAUvector@@0PAUmatrix@@@Z PROC NEAR ; vm_MatrixMulVector
; Line 665
push ebp
mov ebp, esp
; Line 670
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _m$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _v$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx]
; Line 671
mov eax, DWORD PTR _m$[ebp]
add eax, 12 ; 0000000cH
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _v$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+4]
; Line 672
mov eax, DWORD PTR _m$[ebp]
add eax, 24 ; 00000018H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _v$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+8]
; Line 673
pop ebp
ret 0
?vm_MatrixMulVector@@YAXPAUvector@@0PAUmatrix@@@Z ENDP ; vm_MatrixMulVector
_TEXT ENDS
; COMDAT ??D@YAMUvector@@0@Z
_TEXT SEGMENT
_u$ = 8
_v$ = 20
??D@YAMUvector@@0@Z PROC NEAR ; operator*, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 175
push ebp
mov ebp, esp
; Line 176
fld DWORD PTR _u$[ebp]
fmul DWORD PTR _v$[ebp]
fld DWORD PTR _u$[ebp+4]
fmul DWORD PTR _v$[ebp+4]
faddp ST(1), ST(0)
fld DWORD PTR _u$[ebp+8]
fmul DWORD PTR _v$[ebp+8]
faddp ST(1), ST(0)
; Line 177
pop ebp
ret 0
??D@YAMUvector@@0@Z ENDP ; operator*
_TEXT ENDS
PUBLIC ?vm_VectorMulTMatrix@@YAXPAUvector@@0PAUmatrix@@@Z ; vm_VectorMulTMatrix
PUBLIC ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
_TEXT SEGMENT
_result$ = 8
_v$ = 12
_m$ = 16
?vm_VectorMulTMatrix@@YAXPAUvector@@0PAUmatrix@@@Z PROC NEAR ; vm_VectorMulTMatrix
; File osiris_vector.h
; Line 677
push ebp
mov ebp, esp
; Line 680
mov eax, DWORD PTR _v$[ebp]
push eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR [ecx+24]
push edx
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+12]
push ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov ecx, DWORD PTR _result$[ebp]
fstp DWORD PTR [ecx]
; Line 681
mov edx, DWORD PTR _v$[ebp]
push edx
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx+16]
push eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov eax, DWORD PTR _result$[ebp]
fstp DWORD PTR [eax+4]
; Line 682
mov ecx, DWORD PTR _v$[ebp]
push ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx+32]
push eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+8]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov edx, DWORD PTR _result$[ebp]
fstp DWORD PTR [edx+8]
; Line 683
pop ebp
ret 0
?vm_VectorMulTMatrix@@YAXPAUvector@@0PAUmatrix@@@Z ENDP ; vm_VectorMulTMatrix
_TEXT ENDS
; COMDAT ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z
_TEXT SEGMENT
_x$ = 8
_y$ = 12
_z$ = 16
_v$ = 20
?vm_Dot3Vector@@YAMMMMPAUvector@@@Z PROC NEAR ; vm_Dot3Vector, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 301
push ebp
mov ebp, esp
; Line 302
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR _x$[ebp]
fmul DWORD PTR [eax]
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR _y$[ebp]
fmul DWORD PTR [ecx+4]
faddp ST(1), ST(0)
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR _z$[ebp]
fmul DWORD PTR [edx+8]
faddp ST(1), ST(0)
; Line 303
pop ebp
ret 0
?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ENDP ; vm_Dot3Vector
_TEXT ENDS
PUBLIC ?vm_MatrixMul@@YAXPAUmatrix@@00@Z ; vm_MatrixMul
_TEXT SEGMENT
_dest$ = 8
_src0$ = 12
_src1$ = 16
?vm_MatrixMul@@YAXPAUmatrix@@00@Z PROC NEAR ; vm_MatrixMul
; File osiris_vector.h
; Line 686
push ebp
mov ebp, esp
; Line 691
mov eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+24]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+12]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx]
; Line 692
mov edx, DWORD PTR _src1$[ebp]
add edx, 12 ; 0000000cH
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+24]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+12]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+12]
; Line 693
mov ecx, DWORD PTR _src1$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+24]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+12]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+24]
; Line 695
mov eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+28]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+16]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx+4]
; Line 696
mov edx, DWORD PTR _src1$[ebp]
add edx, 12 ; 0000000cH
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+16]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+16]
; Line 697
mov ecx, DWORD PTR _src1$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+28]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+16]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+28]
; Line 699
mov eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+32]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+8]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx+8]
; Line 700
mov edx, DWORD PTR _src1$[ebp]
add edx, 12 ; 0000000cH
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+32]
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+8]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+20]
; Line 701
mov ecx, DWORD PTR _src1$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR [edx+32]
push eax
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR [eax+8]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+32]
; Line 702
pop ebp
ret 0
?vm_MatrixMul@@YAXPAUmatrix@@00@Z ENDP ; vm_MatrixMul
_TEXT ENDS
PUBLIC ?vm_MatrixMulTMatrix@@YAXPAUmatrix@@00@Z ; vm_MatrixMulTMatrix
_TEXT SEGMENT
_dest$ = 8
_src0$ = 12
_src1$ = 16
?vm_MatrixMulTMatrix@@YAXPAUmatrix@@00@Z PROC NEAR ; vm_MatrixMulTMatrix
; Line 706
push ebp
mov ebp, esp
; Line 711
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax]
fmul DWORD PTR [ecx]
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+12]
fmul DWORD PTR [eax+12]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+24]
fmul DWORD PTR [edx+24]
faddp ST(1), ST(0)
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax]
; Line 712
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx]
fmul DWORD PTR [edx+4]
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+12]
fmul DWORD PTR [ecx+16]
faddp ST(1), ST(0)
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+24]
fmul DWORD PTR [eax+28]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx+12]
; Line 713
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+12]
fmul DWORD PTR [edx+20]
faddp ST(1), ST(0)
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+24]
fmul DWORD PTR [ecx+32]
faddp ST(1), ST(0)
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+24]
; Line 715
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR [ecx]
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+16]
fmul DWORD PTR [eax+12]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+28]
fmul DWORD PTR [edx+24]
faddp ST(1), ST(0)
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+4]
; Line 716
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+4]
fmul DWORD PTR [edx+4]
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+16]
fmul DWORD PTR [ecx+16]
faddp ST(1), ST(0)
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+28]
fmul DWORD PTR [eax+28]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx+16]
; Line 717
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+4]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+16]
fmul DWORD PTR [edx+20]
faddp ST(1), ST(0)
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+28]
fmul DWORD PTR [ecx+32]
faddp ST(1), ST(0)
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+28]
; Line 719
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+8]
fmul DWORD PTR [ecx]
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+20]
fmul DWORD PTR [eax+12]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+32]
fmul DWORD PTR [edx+24]
faddp ST(1), ST(0)
mov eax, DWORD PTR _dest$[ebp]
fstp DWORD PTR [eax+8]
; Line 720
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+8]
fmul DWORD PTR [edx+4]
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+20]
fmul DWORD PTR [ecx+16]
faddp ST(1), ST(0)
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+32]
fmul DWORD PTR [eax+28]
faddp ST(1), ST(0)
mov ecx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [ecx+20]
; Line 721
mov edx, DWORD PTR _src0$[ebp]
mov eax, DWORD PTR _src1$[ebp]
fld DWORD PTR [edx+8]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _src0$[ebp]
mov edx, DWORD PTR _src1$[ebp]
fld DWORD PTR [ecx+20]
fmul DWORD PTR [edx+20]
faddp ST(1), ST(0)
mov eax, DWORD PTR _src0$[ebp]
mov ecx, DWORD PTR _src1$[ebp]
fld DWORD PTR [eax+32]
fmul DWORD PTR [ecx+32]
faddp ST(1), ST(0)
mov edx, DWORD PTR _dest$[ebp]
fstp DWORD PTR [edx+32]
; Line 722
pop ebp
ret 0
?vm_MatrixMulTMatrix@@YAXPAUmatrix@@00@Z ENDP ; vm_MatrixMulTMatrix
_TEXT ENDS
PUBLIC ??D@YA?AUmatrix@@U0@0@Z ; operator*
_TEXT SEGMENT
$T10521 = 8
_src0$ = 12
_src1$ = 48
_dest$ = -36
??D@YA?AUmatrix@@U0@0@Z PROC NEAR ; operator*
; Line 725
push ebp
mov ebp, esp
sub esp, 36 ; 00000024H
push esi
push edi
; Line 729
lea eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp+24]
push ecx
mov edx, DWORD PTR _src0$[ebp+12]
push edx
mov eax, DWORD PTR _src0$[ebp]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp]
; Line 730
lea ecx, DWORD PTR _src1$[ebp+12]
push ecx
mov edx, DWORD PTR _src0$[ebp+24]
push edx
mov eax, DWORD PTR _src0$[ebp+12]
push eax
mov ecx, DWORD PTR _src0$[ebp]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+12]
; Line 731
lea edx, DWORD PTR _src1$[ebp+24]
push edx
mov eax, DWORD PTR _src0$[ebp+24]
push eax
mov ecx, DWORD PTR _src0$[ebp+12]
push ecx
mov edx, DWORD PTR _src0$[ebp]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+24]
; Line 733
lea eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp+28]
push ecx
mov edx, DWORD PTR _src0$[ebp+16]
push edx
mov eax, DWORD PTR _src0$[ebp+4]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+4]
; Line 734
lea ecx, DWORD PTR _src1$[ebp+12]
push ecx
mov edx, DWORD PTR _src0$[ebp+28]
push edx
mov eax, DWORD PTR _src0$[ebp+16]
push eax
mov ecx, DWORD PTR _src0$[ebp+4]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+16]
; Line 735
lea edx, DWORD PTR _src1$[ebp+24]
push edx
mov eax, DWORD PTR _src0$[ebp+28]
push eax
mov ecx, DWORD PTR _src0$[ebp+16]
push ecx
mov edx, DWORD PTR _src0$[ebp+4]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+28]
; Line 737
lea eax, DWORD PTR _src1$[ebp]
push eax
mov ecx, DWORD PTR _src0$[ebp+32]
push ecx
mov edx, DWORD PTR _src0$[ebp+20]
push edx
mov eax, DWORD PTR _src0$[ebp+8]
push eax
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+8]
; Line 738
lea ecx, DWORD PTR _src1$[ebp+12]
push ecx
mov edx, DWORD PTR _src0$[ebp+32]
push edx
mov eax, DWORD PTR _src0$[ebp+20]
push eax
mov ecx, DWORD PTR _src0$[ebp+8]
push ecx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+20]
; Line 739
lea edx, DWORD PTR _src1$[ebp+24]
push edx
mov eax, DWORD PTR _src0$[ebp+32]
push eax
mov ecx, DWORD PTR _src0$[ebp+20]
push ecx
mov edx, DWORD PTR _src0$[ebp+8]
push edx
call ?vm_Dot3Vector@@YAMMMMPAUvector@@@Z ; vm_Dot3Vector
add esp, 16 ; 00000010H
fstp DWORD PTR _dest$[ebp+32]
; Line 741
mov ecx, 9
lea esi, DWORD PTR _dest$[ebp]
mov edi, DWORD PTR $T10521[ebp]
rep movsd
mov eax, DWORD PTR $T10521[ebp]
; Line 742
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0
??D@YA?AUmatrix@@U0@0@Z ENDP ; operator*
_TEXT ENDS
PUBLIC ??X@YA?AUmatrix@@AAU0@U0@@Z ; operator*=
_TEXT SEGMENT
$T10523 = 8
$T10524 = -36
$T10525 = -72
_src0$ = 12
_src1$ = 16
??X@YA?AUmatrix@@AAU0@U0@@Z PROC NEAR ; operator*=
; Line 745
push ebp
mov ebp, esp
sub esp, 72 ; 00000048H
push esi
push edi
; Line 746
sub esp, 36 ; 00000024H
mov ecx, 9
lea esi, DWORD PTR _src1$[ebp]
mov edi, esp
rep movsd
sub esp, 36 ; 00000024H
mov ecx, 9
mov esi, DWORD PTR _src0$[ebp]
mov edi, esp
rep movsd
lea eax, DWORD PTR $T10525[ebp]
push eax
call ??D@YA?AUmatrix@@U0@0@Z ; operator*
add esp, 76 ; 0000004cH
mov esi, eax
mov ecx, 9
lea edi, DWORD PTR $T10524[ebp]
rep movsd
mov ecx, 9
lea esi, DWORD PTR $T10524[ebp]
mov edi, DWORD PTR _src0$[ebp]
rep movsd
mov ecx, 9
lea esi, DWORD PTR $T10524[ebp]
mov edi, DWORD PTR $T10523[ebp]
rep movsd
mov eax, DWORD PTR $T10523[ebp]
; Line 747
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0
??X@YA?AUmatrix@@AAU0@U0@@Z ENDP ; operator*=
_TEXT ENDS
PUBLIC ?vm_GetNormalizedDir@@YAMPAUvector@@00@Z ; vm_GetNormalizedDir
_TEXT SEGMENT
_dest$ = 8
_end$ = 12
_start$ = 16
?vm_GetNormalizedDir@@YAMPAUvector@@00@Z PROC NEAR ; vm_GetNormalizedDir
; Line 754
push ebp
mov ebp, esp
; Line 755
mov eax, DWORD PTR _start$[ebp]
push eax
mov ecx, DWORD PTR _end$[ebp]
push ecx
mov edx, DWORD PTR _dest$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 756
mov eax, DWORD PTR _dest$[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
; Line 757
pop ebp
ret 0
?vm_GetNormalizedDir@@YAMPAUvector@@00@Z ENDP ; vm_GetNormalizedDir
_TEXT ENDS
PUBLIC ?vm_VectorNormalizeFast@@YAMPAUvector@@@Z ; vm_VectorNormalizeFast
PUBLIC ?vm_GetNormalizedDirFast@@YAMPAUvector@@00@Z ; vm_GetNormalizedDirFast
_TEXT SEGMENT
_dest$ = 8
_end$ = 12
_start$ = 16
?vm_GetNormalizedDirFast@@YAMPAUvector@@00@Z PROC NEAR ; vm_GetNormalizedDirFast
; Line 765
push ebp
mov ebp, esp
; Line 766
mov eax, DWORD PTR _start$[ebp]
push eax
mov ecx, DWORD PTR _end$[ebp]
push ecx
mov edx, DWORD PTR _dest$[ebp]
push edx
call ?vm_SubVectors@@YAXPAUvector@@PBU1@1@Z ; vm_SubVectors
add esp, 12 ; 0000000cH
; Line 767
mov eax, DWORD PTR _dest$[ebp]
push eax
call ?vm_VectorNormalizeFast@@YAMPAUvector@@@Z ; vm_VectorNormalizeFast
add esp, 4
; Line 768
pop ebp
ret 0
?vm_GetNormalizedDirFast@@YAMPAUvector@@00@Z ENDP ; vm_GetNormalizedDirFast
_TEXT ENDS
PUBLIC __real@4@40018000000000000000
PUBLIC __real@4@40028000000000000000
PUBLIC __real@4@40008000000000000000
; COMDAT __real@4@40018000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@4@40018000000000000000 DD 040800000r ; 4
CONST ENDS
; COMDAT __real@4@40028000000000000000
CONST SEGMENT
__real@4@40028000000000000000 DD 041000000r ; 8
CONST ENDS
; COMDAT __real@4@40008000000000000000
CONST SEGMENT
__real@4@40008000000000000000 DD 040000000r ; 2
CONST ENDS
_TEXT SEGMENT
_v$ = 8
_a$ = -8
_b$ = -12
_c$ = -16
_bc$ = -4
_t$3546 = -20
_t$3548 = -24
_t$3550 = -28
?vm_GetMagnitudeFast@@YAMPAUvector@@@Z PROC NEAR ; vm_GetMagnitudeFast
; File osiris_vector.h
; Line 771
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
; Line 774
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR [eax]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fstp DWORD PTR _a$[ebp]
; Line 775
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR [ecx+4]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fstp DWORD PTR _b$[ebp]
; Line 776
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR [edx+8]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fstp DWORD PTR _c$[ebp]
; Line 778
fld DWORD PTR _a$[ebp]
fcomp DWORD PTR _b$[ebp]
fnstsw ax
test ah, 1
je SHORT $L3545
; Line 779
mov eax, DWORD PTR _a$[ebp]
mov DWORD PTR _t$3546[ebp], eax
mov ecx, DWORD PTR _b$[ebp]
mov DWORD PTR _a$[ebp], ecx
mov edx, DWORD PTR _t$3546[ebp]
mov DWORD PTR _b$[ebp], edx
$L3545:
; Line 782
fld DWORD PTR _b$[ebp]
fcomp DWORD PTR _c$[ebp]
fnstsw ax
test ah, 1
je SHORT $L3549
; Line 783
mov eax, DWORD PTR _b$[ebp]
mov DWORD PTR _t$3548[ebp], eax
mov ecx, DWORD PTR _c$[ebp]
mov DWORD PTR _b$[ebp], ecx
mov edx, DWORD PTR _t$3548[ebp]
mov DWORD PTR _c$[ebp], edx
; Line 785
fld DWORD PTR _a$[ebp]
fcomp DWORD PTR _b$[ebp]
fnstsw ax
test ah, 1
je SHORT $L3549
; Line 786
mov eax, DWORD PTR _a$[ebp]
mov DWORD PTR _t$3550[ebp], eax
mov ecx, DWORD PTR _b$[ebp]
mov DWORD PTR _a$[ebp], ecx
mov edx, DWORD PTR _t$3550[ebp]
mov DWORD PTR _b$[ebp], edx
$L3549:
; Line 790
fld DWORD PTR _b$[ebp]
fdiv DWORD PTR __real@4@40018000000000000000
fld DWORD PTR _c$[ebp]
fdiv DWORD PTR __real@4@40028000000000000000
faddp ST(1), ST(0)
fstp DWORD PTR _bc$[ebp]
; Line 792
fld DWORD PTR _a$[ebp]
fadd DWORD PTR _bc$[ebp]
fld DWORD PTR _bc$[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
faddp ST(1), ST(0)
; Line 793
mov esp, ebp
pop ebp
ret 0
?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ENDP ; vm_GetMagnitudeFast
_TEXT ENDS
PUBLIC __real@8@00000000000000000000
; COMDAT __real@8@00000000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@8@00000000000000000000 DQ 00000000000000000r ; 0
CONST ENDS
_TEXT SEGMENT
_a$ = 8
_mag$ = -4
?vm_VectorNormalizeFast@@YAMPAUvector@@@Z PROC NEAR ; vm_VectorNormalizeFast
; File osiris_vector.h
; Line 799
push ebp
mov ebp, esp
push ecx
; Line 802
mov eax, DWORD PTR _a$[ebp]
push eax
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fstp DWORD PTR _mag$[ebp]
; Line 804
fld DWORD PTR _mag$[ebp]
fcomp QWORD PTR __real@8@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3555
; Line 806
mov ecx, DWORD PTR _a$[ebp]
mov DWORD PTR [ecx+8], 0
mov edx, DWORD PTR _a$[ebp]
mov DWORD PTR [edx+4], 0
mov eax, DWORD PTR _a$[ebp]
mov DWORD PTR [eax], 0
; Line 807
fld DWORD PTR __real@4@00000000000000000000
jmp SHORT $L3553
$L3555:
; Line 810
mov ecx, DWORD PTR _a$[ebp]
fld DWORD PTR [ecx]
fdiv DWORD PTR _mag$[ebp]
mov edx, DWORD PTR _a$[ebp]
fstp DWORD PTR [edx]
; Line 811
mov eax, DWORD PTR _a$[ebp]
fld DWORD PTR [eax+4]
fdiv DWORD PTR _mag$[ebp]
mov ecx, DWORD PTR _a$[ebp]
fstp DWORD PTR [ecx+4]
; Line 812
mov edx, DWORD PTR _a$[ebp]
fld DWORD PTR [edx+8]
fdiv DWORD PTR _mag$[ebp]
mov eax, DWORD PTR _a$[ebp]
fstp DWORD PTR [eax+8]
; Line 814
fld DWORD PTR _mag$[ebp]
$L3553:
; Line 815
mov esp, ebp
pop ebp
ret 0
?vm_VectorNormalizeFast@@YAMPAUvector@@@Z ENDP ; vm_VectorNormalizeFast
_TEXT ENDS
PUBLIC ??G@YA?AUvector@@U0@0@Z ; operator-
PUBLIC ?vm_DistToPlane@@YAMPAUvector@@00@Z ; vm_DistToPlane
_TEXT SEGMENT
$T10539 = -24
$T10540 = -36
_checkp$ = 8
_norm$ = 12
_planep$ = 16
_t$ = -12
?vm_DistToPlane@@YAMPAUvector@@00@Z PROC NEAR ; vm_DistToPlane
; Line 823
push ebp
mov ebp, esp
sub esp, 36 ; 00000024H
; Line 826
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _planep$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _checkp$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10540[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10539[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10539[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10539[ebp+8], eax
mov ecx, DWORD PTR $T10539[ebp]
mov DWORD PTR _t$[ebp], ecx
mov edx, DWORD PTR $T10539[ebp+4]
mov DWORD PTR _t$[ebp+4], edx
mov eax, DWORD PTR $T10539[ebp+8]
mov DWORD PTR _t$[ebp+8], eax
; Line 828
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _norm$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _t$[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _t$[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _t$[ebp+8]
mov DWORD PTR [edx+8], eax
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
; Line 830
mov esp, ebp
pop ebp
ret 0
?vm_DistToPlane@@YAMPAUvector@@00@Z ENDP ; vm_DistToPlane
_TEXT ENDS
; COMDAT ??G@YA?AUvector@@U0@0@Z
_TEXT SEGMENT
_a$ = 12
_b$ = 24
$T10542 = 8
??G@YA?AUvector@@U0@0@Z PROC NEAR ; operator-, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 139
push ebp
mov ebp, esp
; Line 142
fld DWORD PTR _a$[ebp]
fsub DWORD PTR _b$[ebp]
fstp DWORD PTR _a$[ebp]
; Line 143
fld DWORD PTR _a$[ebp+4]
fsub DWORD PTR _b$[ebp+4]
fstp DWORD PTR _a$[ebp+4]
; Line 144
fld DWORD PTR _a$[ebp+8]
fsub DWORD PTR _b$[ebp+8]
fstp DWORD PTR _a$[ebp+8]
; Line 146
mov eax, DWORD PTR $T10542[ebp]
mov ecx, DWORD PTR _a$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _a$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _a$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10542[ebp]
; Line 147
pop ebp
ret 0
??G@YA?AUvector@@U0@0@Z ENDP ; operator-
_TEXT ENDS
PUBLIC ?vm_GetSlope@@YAMMMMM@Z ; vm_GetSlope
_TEXT SEGMENT
_x1$ = 8
_y1$ = 12
_x2$ = 16
_y2$ = 20
_r$ = -4
?vm_GetSlope@@YAMMMMM@Z PROC NEAR ; vm_GetSlope
; File osiris_vector.h
; Line 833
push ebp
mov ebp, esp
push ecx
; Line 837
fld DWORD PTR _y2$[ebp]
fsub DWORD PTR _y1$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3570
; Line 838
fld DWORD PTR __real@4@00000000000000000000
jmp SHORT $L3568
$L3570:
; Line 840
fld DWORD PTR _x2$[ebp]
fsub DWORD PTR _x1$[ebp]
fld DWORD PTR _y2$[ebp]
fsub DWORD PTR _y1$[ebp]
fdivp ST(1), ST(0)
fst DWORD PTR _r$[ebp]
$L3568:
; Line 843
mov esp, ebp
pop ebp
ret 0
?vm_GetSlope@@YAMMMMM@Z ENDP ; vm_GetSlope
_TEXT ENDS
PUBLIC ?vm_SinCosToMatrix@@YAXPAUmatrix@@MMMMMM@Z ; vm_SinCosToMatrix
_TEXT SEGMENT
_m$ = 8
_sinp$ = 12
_cosp$ = 16
_sinb$ = 20
_cosb$ = 24
_sinh$ = 28
_cosh$ = 32
_sbsh$ = -16
_cbch$ = -8
_cbsh$ = -12
_sbch$ = -4
?vm_SinCosToMatrix@@YAXPAUmatrix@@MMMMMM@Z PROC NEAR ; vm_SinCosToMatrix
; Line 846
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 849
fld DWORD PTR _sinb$[ebp]
fmul DWORD PTR _sinh$[ebp]
fstp DWORD PTR _sbsh$[ebp]
; Line 850
fld DWORD PTR _cosb$[ebp]
fmul DWORD PTR _cosh$[ebp]
fstp DWORD PTR _cbch$[ebp]
; Line 851
fld DWORD PTR _cosb$[ebp]
fmul DWORD PTR _sinh$[ebp]
fstp DWORD PTR _cbsh$[ebp]
; Line 852
fld DWORD PTR _sinb$[ebp]
fmul DWORD PTR _cosh$[ebp]
fstp DWORD PTR _sbch$[ebp]
; Line 854
fld DWORD PTR _sinp$[ebp]
fmul DWORD PTR _sbsh$[ebp]
fadd DWORD PTR _cbch$[ebp]
mov eax, DWORD PTR _m$[ebp]
fstp DWORD PTR [eax]
; Line 855
fld DWORD PTR _sinp$[ebp]
fmul DWORD PTR _cbch$[ebp]
fadd DWORD PTR _sbsh$[ebp]
mov ecx, DWORD PTR _m$[ebp]
fstp DWORD PTR [ecx+20]
; Line 857
fld DWORD PTR _sinp$[ebp]
fmul DWORD PTR _cbsh$[ebp]
fsub DWORD PTR _sbch$[ebp]
mov edx, DWORD PTR _m$[ebp]
fstp DWORD PTR [edx+12]
; Line 858
fld DWORD PTR _sinp$[ebp]
fmul DWORD PTR _sbch$[ebp]
fsub DWORD PTR _cbsh$[ebp]
mov eax, DWORD PTR _m$[ebp]
fstp DWORD PTR [eax+8]
; Line 860
fld DWORD PTR _sinh$[ebp]
fmul DWORD PTR _cosp$[ebp]
mov ecx, DWORD PTR _m$[ebp]
fstp DWORD PTR [ecx+24]
; Line 861
fld DWORD PTR _sinb$[ebp]
fmul DWORD PTR _cosp$[ebp]
mov edx, DWORD PTR _m$[ebp]
fstp DWORD PTR [edx+4]
; Line 862
fld DWORD PTR _cosb$[ebp]
fmul DWORD PTR _cosp$[ebp]
mov eax, DWORD PTR _m$[ebp]
fstp DWORD PTR [eax+16]
; Line 863
fld DWORD PTR _cosh$[ebp]
fmul DWORD PTR _cosp$[ebp]
mov ecx, DWORD PTR _m$[ebp]
fstp DWORD PTR [ecx+32]
; Line 865
fld DWORD PTR _sinp$[ebp]
fchs
mov edx, DWORD PTR _m$[ebp]
fstp DWORD PTR [edx+28]
; Line 866
mov esp, ebp
pop ebp
ret 0
?vm_SinCosToMatrix@@YAXPAUmatrix@@MMMMMM@Z ENDP ; vm_SinCosToMatrix
_TEXT ENDS
PUBLIC ?vm_AnglesToMatrix@@YAXPAUmatrix@@GGG@Z ; vm_AnglesToMatrix
_TEXT SEGMENT
_m$ = 8
_p$ = 12
_h$ = 16
_b$ = 20
_sinp$ = -16
_cosp$ = -8
_sinb$ = -24
_cosb$ = -12
_sinh$ = -4
_cosh$ = -20
?vm_AnglesToMatrix@@YAXPAUmatrix@@GGG@Z PROC NEAR ; vm_AnglesToMatrix
; Line 869
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 872
mov ax, WORD PTR _p$[ebp]
push eax
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
fstp DWORD PTR _sinp$[ebp]
mov cx, WORD PTR _p$[ebp]
push ecx
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
fstp DWORD PTR _cosp$[ebp]
; Line 873
mov dx, WORD PTR _b$[ebp]
push edx
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
fstp DWORD PTR _sinb$[ebp]
mov ax, WORD PTR _b$[ebp]
push eax
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
fstp DWORD PTR _cosb$[ebp]
; Line 874
mov cx, WORD PTR _h$[ebp]
push ecx
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
fstp DWORD PTR _sinh$[ebp]
mov dx, WORD PTR _h$[ebp]
push edx
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
fstp DWORD PTR _cosh$[ebp]
; Line 876
mov eax, DWORD PTR _cosh$[ebp]
push eax
mov ecx, DWORD PTR _sinh$[ebp]
push ecx
mov edx, DWORD PTR _cosb$[ebp]
push edx
mov eax, DWORD PTR _sinb$[ebp]
push eax
mov ecx, DWORD PTR _cosp$[ebp]
push ecx
mov edx, DWORD PTR _sinp$[ebp]
push edx
mov eax, DWORD PTR _m$[ebp]
push eax
call ?vm_SinCosToMatrix@@YAXPAUmatrix@@MMMMMM@Z ; vm_SinCosToMatrix
add esp, 28 ; 0000001cH
; Line 877
mov esp, ebp
pop ebp
ret 0
?vm_AnglesToMatrix@@YAXPAUmatrix@@GGG@Z ENDP ; vm_AnglesToMatrix
_TEXT ENDS
PUBLIC ?vm_VectorAngleToMatrix@@YAXPAUmatrix@@PAUvector@@G@Z ; vm_VectorAngleToMatrix
PUBLIC __real@8@3fff8000000000000000
; COMDAT __real@8@3fff8000000000000000
; File osiris_vector.h
CONST SEGMENT
__real@8@3fff8000000000000000 DQ 03ff0000000000000r ; 1
CONST ENDS
_TEXT SEGMENT
_m$ = 8
_v$ = 12
_a$ = 16
_sinb$ = -24
_cosb$ = -12
_sinp$ = -16
_cosp$ = -8
_sinh$ = -4
_cosh$ = -20
?vm_VectorAngleToMatrix@@YAXPAUmatrix@@PAUvector@@G@Z PROC NEAR ; vm_VectorAngleToMatrix
; File osiris_vector.h
; Line 884
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 887
mov ax, WORD PTR _a$[ebp]
push eax
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
fstp DWORD PTR _sinb$[ebp]
mov cx, WORD PTR _a$[ebp]
push ecx
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
fstp DWORD PTR _cosb$[ebp]
; Line 889
mov edx, DWORD PTR _v$[ebp]
fld DWORD PTR [edx+4]
fchs
fst DWORD PTR _sinp$[ebp]
; Line 890
fmul DWORD PTR _sinp$[ebp]
fsubr QWORD PTR __real@8@3fff8000000000000000
sub esp, 8
fstp QWORD PTR [esp]
call _sqrt
add esp, 8
fstp DWORD PTR _cosp$[ebp]
; Line 892
fld DWORD PTR _cosp$[ebp]
fcomp QWORD PTR __real@8@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
jne SHORT $L3607
; Line 893
mov eax, DWORD PTR _v$[ebp]
fld DWORD PTR [eax]
fdiv DWORD PTR _cosp$[ebp]
fstp DWORD PTR _sinh$[ebp]
; Line 894
mov ecx, DWORD PTR _v$[ebp]
fld DWORD PTR [ecx+8]
fdiv DWORD PTR _cosp$[ebp]
fstp DWORD PTR _cosh$[ebp]
; Line 896
jmp SHORT $L3608
$L3607:
; Line 897
mov DWORD PTR _sinh$[ebp], 0
; Line 898
mov DWORD PTR _cosh$[ebp], 1065353216 ; 3f800000H
$L3608:
; Line 901
mov edx, DWORD PTR _cosh$[ebp]
push edx
mov eax, DWORD PTR _sinh$[ebp]
push eax
mov ecx, DWORD PTR _cosb$[ebp]
push ecx
mov edx, DWORD PTR _sinb$[ebp]
push edx
mov eax, DWORD PTR _cosp$[ebp]
push eax
mov ecx, DWORD PTR _sinp$[ebp]
push ecx
mov edx, DWORD PTR _m$[ebp]
push edx
call ?vm_SinCosToMatrix@@YAXPAUmatrix@@MMMMMM@Z ; vm_SinCosToMatrix
add esp, 28 ; 0000001cH
; Line 902
mov esp, ebp
pop ebp
ret 0
?vm_VectorAngleToMatrix@@YAXPAUmatrix@@PAUvector@@G@Z ENDP ; vm_VectorAngleToMatrix
_TEXT ENDS
PUBLIC ?vm_Orthogonalize@@YAXPAUmatrix@@@Z ; vm_Orthogonalize
PUBLIC ?vm_VectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; vm_VectorToMatrix
PUBLIC ??T@YA?AUvector@@U0@0@Z ; operator^
_TEXT SEGMENT
$T10550 = -12
$T10551 = -24
$T10552 = -36
$T10553 = -48
_m$ = 8
?vm_Orthogonalize@@YAXPAUmatrix@@@Z PROC NEAR ; vm_Orthogonalize
; Line 907
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
; Line 909
mov eax, DWORD PTR _m$[ebp]
add eax, 24 ; 00000018H
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3612
; Line 910
jmp $L3611
$L3612:
; Line 914
mov ecx, DWORD PTR _m$[ebp]
add ecx, 24 ; 00000018H
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
mov edx, DWORD PTR _m$[ebp]
add edx, 12 ; 0000000cH
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR $T10551[ebp]
push eax
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10550[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10550[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10550[ebp+8], eax
mov ecx, DWORD PTR _m$[ebp]
mov edx, DWORD PTR $T10550[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10550[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10550[ebp+8]
mov DWORD PTR [ecx+8], edx
; Line 917
mov eax, DWORD PTR _m$[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3614
; Line 918
push 0
push 0
mov ecx, DWORD PTR _m$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _m$[ebp]
push edx
call ?vm_VectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; vm_VectorToMatrix
add esp, 16 ; 00000010H
; Line 919
jmp SHORT $L3611
$L3614:
; Line 923
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _m$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
mov ecx, DWORD PTR _m$[ebp]
add ecx, 24 ; 00000018H
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10553[ebp]
push edx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10552[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10552[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10552[ebp+8], eax
mov ecx, DWORD PTR _m$[ebp]
add ecx, 12 ; 0000000cH
mov edx, DWORD PTR $T10552[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10552[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10552[ebp+8]
mov DWORD PTR [ecx+8], edx
$L3611:
; Line 924
mov esp, ebp
pop ebp
ret 0
?vm_Orthogonalize@@YAXPAUmatrix@@@Z ENDP ; vm_Orthogonalize
_TEXT ENDS
; COMDAT ??T@YA?AUvector@@U0@0@Z
_TEXT SEGMENT
_u$ = 12
_v$ = 24
_dest$ = -12
$T10555 = 8
??T@YA?AUvector@@U0@0@Z PROC NEAR ; operator^, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 258
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
; Line 261
fld DWORD PTR _u$[ebp+4]
fmul DWORD PTR _v$[ebp+8]
fld DWORD PTR _u$[ebp+8]
fmul DWORD PTR _v$[ebp+4]
fsubp ST(1), ST(0)
fstp DWORD PTR _dest$[ebp]
; Line 262
fld DWORD PTR _u$[ebp+8]
fmul DWORD PTR _v$[ebp]
fld DWORD PTR _u$[ebp]
fmul DWORD PTR _v$[ebp+8]
fsubp ST(1), ST(0)
fstp DWORD PTR _dest$[ebp+4]
; Line 263
fld DWORD PTR _u$[ebp]
fmul DWORD PTR _v$[ebp+4]
fld DWORD PTR _u$[ebp+4]
fmul DWORD PTR _v$[ebp]
fsubp ST(1), ST(0)
fstp DWORD PTR _dest$[ebp+8]
; Line 265
mov eax, DWORD PTR $T10555[ebp]
mov ecx, DWORD PTR _dest$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _dest$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _dest$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10555[ebp]
; Line 266
mov esp, ebp
pop ebp
ret 0
??T@YA?AUvector@@U0@0@Z ENDP ; operator^
_TEXT ENDS
PUBLIC ?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; DoVectorToMatrix
_TEXT SEGMENT
$T10559 = -24
$T10560 = -36
$T10561 = -48
$T10562 = -60
$T10563 = -72
$T10564 = -84
$T10565 = -96
$T10566 = -108
$T10567 = -120
$T10568 = -132
_m$ = 8
_fvec$ = 12
_uvec$ = 16
_rvec$ = 20
_xvec$ = -8
_yvec$ = -12
_zvec$ = -4
?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z PROC NEAR ; DoVectorToMatrix
; File osiris_vector.h
; Line 928
push ebp
mov ebp, esp
sub esp, 140 ; 0000008cH
; Line 929
mov eax, DWORD PTR _m$[ebp]
mov DWORD PTR _xvec$[ebp], eax
mov ecx, DWORD PTR _m$[ebp]
add ecx, 12 ; 0000000cH
mov DWORD PTR _yvec$[ebp], ecx
mov edx, DWORD PTR _m$[ebp]
add edx, 24 ; 00000018H
mov DWORD PTR _zvec$[ebp], edx
; Line 933
mov eax, DWORD PTR _fvec$[ebp]
mov ecx, DWORD PTR _zvec$[ebp]
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
; Line 934
mov ecx, DWORD PTR _zvec$[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3625
; Line 935
jmp $L3621
$L3625:
; Line 938
cmp DWORD PTR _uvec$[ebp], 0
jne $L3626
; Line 940
cmp DWORD PTR _rvec$[ebp], 0
jne $L3627
$bad_vector2$3628:
; Line 945
mov edx, DWORD PTR _zvec$[ebp]
fld DWORD PTR [edx]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je $L3629
mov eax, DWORD PTR _zvec$[ebp]
fld DWORD PTR [eax+8]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3629
; Line 947
mov ecx, DWORD PTR _m$[ebp]
mov DWORD PTR [ecx], 1065353216 ; 3f800000H
; Line 948
mov edx, DWORD PTR _zvec$[ebp]
fld DWORD PTR [edx+4]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L10557
mov DWORD PTR -140+[ebp], 0
mov DWORD PTR -140+[ebp+4], 1072693248 ; 3ff00000H
jmp SHORT $L10558
$L10557:
mov DWORD PTR -140+[ebp], 0
mov DWORD PTR -140+[ebp+4], -1074790400 ; bff00000H
$L10558:
fld QWORD PTR -140+[ebp]
mov eax, DWORD PTR _m$[ebp]
fstp DWORD PTR [eax+20]
; Line 950
mov ecx, DWORD PTR _m$[ebp]
mov DWORD PTR [ecx+16], 0
mov edx, DWORD PTR _m$[ebp]
mov DWORD PTR [edx+12], 0
mov eax, DWORD PTR _m$[ebp]
mov DWORD PTR [eax+8], 0
mov ecx, DWORD PTR _m$[ebp]
mov DWORD PTR [ecx+4], 0
; Line 952
jmp $L3630
$L3629:
; Line 954
mov edx, DWORD PTR _xvec$[ebp]
mov eax, DWORD PTR _zvec$[ebp]
mov ecx, DWORD PTR [eax+8]
mov DWORD PTR [edx], ecx
; Line 955
mov edx, DWORD PTR _xvec$[ebp]
mov DWORD PTR [edx+4], 0
; Line 956
mov eax, DWORD PTR _zvec$[ebp]
fld DWORD PTR [eax]
fchs
mov ecx, DWORD PTR _xvec$[ebp]
fstp DWORD PTR [ecx+8]
; Line 958
mov edx, DWORD PTR _xvec$[ebp]
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 960
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _xvec$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _zvec$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10560[ebp]
push edx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10559[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10559[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10559[ebp+8], eax
mov ecx, DWORD PTR _yvec$[ebp]
mov edx, DWORD PTR $T10559[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10559[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10559[ebp+8]
mov DWORD PTR [ecx+8], edx
$L3630:
; Line 965
jmp $L3632
$L3627:
; Line 967
mov eax, DWORD PTR _rvec$[ebp]
mov ecx, DWORD PTR _xvec$[ebp]
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
; Line 968
mov ecx, DWORD PTR _xvec$[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3633
; Line 969
jmp $bad_vector2$3628
$L3633:
; Line 971
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _xvec$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _zvec$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
lea ecx, DWORD PTR $T10562[ebp]
push ecx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10561[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10561[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10561[ebp+8], edx
mov eax, DWORD PTR _yvec$[ebp]
mov ecx, DWORD PTR $T10561[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10561[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10561[ebp+8]
mov DWORD PTR [eax+8], ecx
; Line 974
mov edx, DWORD PTR _yvec$[ebp]
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3635
; Line 975
jmp $bad_vector2$3628
$L3635:
; Line 978
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _zvec$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _yvec$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10564[ebp]
push edx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10563[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10563[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10563[ebp+8], eax
mov ecx, DWORD PTR _xvec$[ebp]
mov edx, DWORD PTR $T10563[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10563[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10563[ebp+8]
mov DWORD PTR [ecx+8], edx
$L3632:
; Line 981
jmp $L3637
$L3626:
; Line 983
mov eax, DWORD PTR _uvec$[ebp]
mov ecx, DWORD PTR _yvec$[ebp]
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
; Line 984
mov ecx, DWORD PTR _yvec$[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3638
; Line 985
jmp $bad_vector2$3628
$L3638:
; Line 987
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _zvec$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _yvec$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
lea ecx, DWORD PTR $T10566[ebp]
push ecx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10565[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10565[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10565[ebp+8], edx
mov eax, DWORD PTR _xvec$[ebp]
mov ecx, DWORD PTR $T10565[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10565[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10565[ebp+8]
mov DWORD PTR [eax+8], ecx
; Line 990
mov edx, DWORD PTR _xvec$[ebp]
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3640
; Line 991
jmp $bad_vector2$3628
$L3640:
; Line 994
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _xvec$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _zvec$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10568[ebp]
push edx
call ??T@YA?AUvector@@U0@0@Z ; operator^
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10567[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10567[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10567[ebp+8], eax
mov ecx, DWORD PTR _yvec$[ebp]
mov edx, DWORD PTR $T10567[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10567[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10567[ebp+8]
mov DWORD PTR [ecx+8], edx
$L3637:
$L3621:
; Line 997
mov esp, ebp
pop ebp
ret 0
?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ENDP ; DoVectorToMatrix
_TEXT ENDS
PUBLIC ??G@YA?AUvector@@U0@@Z ; operator-
_TEXT SEGMENT
$T10570 = -48
$T10571 = -60
$T10572 = -72
$T10573 = -84
_m$ = 8
_fvec$ = 12
_uvec$ = 16
_rvec$ = 20
_tmatrix$3649 = -36
?vm_VectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z PROC NEAR ; vm_VectorToMatrix
; Line 1004
push ebp
mov ebp, esp
sub esp, 84 ; 00000054H
; Line 1005
cmp DWORD PTR _fvec$[ebp], 0
jne $L3648
; Line 1008
cmp DWORD PTR _uvec$[ebp], 0
je $L3650
; Line 1009
mov eax, DWORD PTR _rvec$[ebp]
push eax
push 0
mov ecx, DWORD PTR _uvec$[ebp]
push ecx
lea edx, DWORD PTR _tmatrix$3649[ebp]
push edx
call ?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; DoVectorToMatrix
add esp, 16 ; 00000010H
; Line 1010
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _tmatrix$3649[ebp+12]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmatrix$3649[ebp+16]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmatrix$3649[ebp+20]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T10571[ebp]
push edx
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10570[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10570[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10570[ebp+8], eax
mov ecx, DWORD PTR _m$[ebp]
add ecx, 24 ; 00000018H
mov edx, DWORD PTR $T10570[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10570[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10570[ebp+8]
mov DWORD PTR [ecx+8], edx
; Line 1011
mov eax, DWORD PTR _m$[ebp]
add eax, 12 ; 0000000cH
mov ecx, DWORD PTR _tmatrix$3649[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmatrix$3649[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmatrix$3649[ebp+32]
mov DWORD PTR [eax+8], ecx
; Line 1012
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR _tmatrix$3649[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _tmatrix$3649[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _tmatrix$3649[ebp+8]
mov DWORD PTR [edx+8], eax
; Line 1013
jmp $L3647
$L3650:
; Line 1017
push 0
push 0
mov ecx, DWORD PTR _rvec$[ebp]
push ecx
lea edx, DWORD PTR _tmatrix$3649[ebp]
push edx
call ?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; DoVectorToMatrix
add esp, 16 ; 00000010H
; Line 1018
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _tmatrix$3649[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmatrix$3649[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmatrix$3649[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T10573[ebp]
push edx
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10572[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10572[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10572[ebp+8], eax
mov ecx, DWORD PTR _m$[ebp]
add ecx, 24 ; 00000018H
mov edx, DWORD PTR $T10572[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10572[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10572[ebp+8]
mov DWORD PTR [ecx+8], edx
; Line 1019
mov eax, DWORD PTR _m$[ebp]
add eax, 12 ; 0000000cH
mov ecx, DWORD PTR _tmatrix$3649[ebp+12]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmatrix$3649[ebp+16]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmatrix$3649[ebp+20]
mov DWORD PTR [eax+8], ecx
; Line 1020
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR _tmatrix$3649[ebp+24]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _tmatrix$3649[ebp+28]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _tmatrix$3649[ebp+32]
mov DWORD PTR [edx+8], eax
; Line 1021
jmp SHORT $L3647
$L3648:
; Line 1026
mov ecx, DWORD PTR _rvec$[ebp]
push ecx
mov edx, DWORD PTR _uvec$[ebp]
push edx
mov eax, DWORD PTR _fvec$[ebp]
push eax
mov ecx, DWORD PTR _m$[ebp]
push ecx
call ?DoVectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ; DoVectorToMatrix
add esp, 16 ; 00000010H
$L3647:
; Line 1028
mov esp, ebp
pop ebp
ret 0
?vm_VectorToMatrix@@YAXPAUmatrix@@PAUvector@@11@Z ENDP ; vm_VectorToMatrix
_TEXT ENDS
PUBLIC __real@4@bfff8000000000000000
; COMDAT __real@4@bfff8000000000000000
; File ../../main/lib/vecmat_external.h
CONST SEGMENT
__real@4@bfff8000000000000000 DD 0bf800000r ; -1
CONST ENDS
; COMDAT ??G@YA?AUvector@@U0@@Z
_TEXT SEGMENT
_a$ = 12
$T10575 = 8
??G@YA?AUvector@@U0@@Z PROC NEAR ; operator-, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 280
push ebp
mov ebp, esp
; Line 281
fld DWORD PTR _a$[ebp]
fmul DWORD PTR __real@4@bfff8000000000000000
fstp DWORD PTR _a$[ebp]
; Line 282
fld DWORD PTR _a$[ebp+4]
fmul DWORD PTR __real@4@bfff8000000000000000
fstp DWORD PTR _a$[ebp+4]
; Line 283
fld DWORD PTR _a$[ebp+8]
fmul DWORD PTR __real@4@bfff8000000000000000
fstp DWORD PTR _a$[ebp+8]
; Line 285
mov eax, DWORD PTR $T10575[ebp]
mov ecx, DWORD PTR _a$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _a$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _a$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10575[ebp]
; Line 286
pop ebp
ret 0
??G@YA?AUvector@@U0@@Z ENDP ; operator-
_TEXT ENDS
PUBLIC ?vm_SinCos@@YAXGPAM0@Z ; vm_SinCos
_TEXT SEGMENT
_a$ = 8
_s$ = 12
_c$ = 16
?vm_SinCos@@YAXGPAM0@Z PROC NEAR ; vm_SinCos
; File osiris_vector.h
; Line 1031
push ebp
mov ebp, esp
; Line 1032
cmp DWORD PTR _s$[ebp], 0
je SHORT $L3660
; Line 1033
mov ax, WORD PTR _a$[ebp]
push eax
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
mov ecx, DWORD PTR _s$[ebp]
fstp DWORD PTR [ecx]
$L3660:
; Line 1034
cmp DWORD PTR _c$[ebp], 0
je SHORT $L3661
; Line 1035
mov dx, WORD PTR _a$[ebp]
push edx
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
mov eax, DWORD PTR _c$[ebp]
fstp DWORD PTR [eax]
$L3661:
; Line 1036
pop ebp
ret 0
?vm_SinCos@@YAXGPAM0@Z ENDP ; vm_SinCos
_TEXT ENDS
PUBLIC ?vm_ExtractAnglesFromMatrix@@YAPAUangvec@@PAU1@PAUmatrix@@@Z ; vm_ExtractAnglesFromMatrix
_TEXT SEGMENT
_a$ = 8
_m$ = 12
_sinh$ = -4
_cosh$ = -12
_cosp$ = -8
_sinb$3677 = -20
_cosb$3678 = -16
?vm_ExtractAnglesFromMatrix@@YAPAUangvec@@PAU1@PAUmatrix@@@Z PROC NEAR ; vm_ExtractAnglesFromMatrix
; Line 1040
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
; Line 1043
mov eax, DWORD PTR _m$[ebp]
fld DWORD PTR [eax+24]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3669
mov ecx, DWORD PTR _m$[ebp]
fld DWORD PTR [ecx+32]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3669
; Line 1044
mov edx, DWORD PTR _a$[ebp]
mov WORD PTR [edx+2], 0
; Line 1045
jmp SHORT $L3670
$L3669:
; Line 1046
mov eax, DWORD PTR _m$[ebp]
mov ecx, DWORD PTR [eax+24]
push ecx
mov edx, DWORD PTR _m$[ebp]
mov eax, DWORD PTR [edx+32]
push eax
call ?FixAtan2@@YAGMM@Z ; FixAtan2
add esp, 8
mov ecx, DWORD PTR _a$[ebp]
mov WORD PTR [ecx+2], ax
$L3670:
; Line 1048
mov edx, DWORD PTR _a$[ebp]
mov ax, WORD PTR [edx+2]
push eax
call ?FixSin@@YAMG@Z ; FixSin
add esp, 4
fstp DWORD PTR _sinh$[ebp]
; Line 1049
mov ecx, DWORD PTR _a$[ebp]
mov dx, WORD PTR [ecx+2]
push edx
call ?FixCos@@YAMG@Z ; FixCos
add esp, 4
fstp DWORD PTR _cosh$[ebp]
; Line 1051
fld DWORD PTR _sinh$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
fstp QWORD PTR -28+[ebp]
add esp, 8
fld DWORD PTR _cosh$[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fcomp QWORD PTR -28+[ebp]
fnstsw ax
test ah, 1
je SHORT $L3671
; Line 1052
mov eax, DWORD PTR _m$[ebp]
fld DWORD PTR [eax+24]
fdiv DWORD PTR _sinh$[ebp]
fstp DWORD PTR _cosp$[ebp]
; Line 1053
jmp SHORT $L3672
$L3671:
; Line 1054
mov ecx, DWORD PTR _m$[ebp]
fld DWORD PTR [ecx+32]
fdiv DWORD PTR _cosh$[ebp]
fstp DWORD PTR _cosp$[ebp]
$L3672:
; Line 1056
fld DWORD PTR _cosp$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3673
mov edx, DWORD PTR _m$[ebp]
fld DWORD PTR [edx+28]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3673
; Line 1057
mov eax, DWORD PTR _a$[ebp]
mov WORD PTR [eax], 0
; Line 1058
jmp SHORT $L3674
$L3673:
; Line 1059
mov ecx, DWORD PTR _m$[ebp]
fld DWORD PTR [ecx+28]
fchs
push ecx
fstp DWORD PTR [esp]
mov edx, DWORD PTR _cosp$[ebp]
push edx
call ?FixAtan2@@YAGMM@Z ; FixAtan2
add esp, 8
mov ecx, DWORD PTR _a$[ebp]
mov WORD PTR [ecx], ax
$L3674:
; Line 1062
fld DWORD PTR _cosp$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3675
; Line 1064
mov edx, DWORD PTR _a$[ebp]
mov WORD PTR [edx+4], 0
; Line 1066
jmp SHORT $L3680
$L3675:
; Line 1069
mov eax, DWORD PTR _m$[ebp]
fld DWORD PTR [eax+4]
fdiv DWORD PTR _cosp$[ebp]
fstp DWORD PTR _sinb$3677[ebp]
; Line 1070
mov ecx, DWORD PTR _m$[ebp]
fld DWORD PTR [ecx+16]
fdiv DWORD PTR _cosp$[ebp]
fstp DWORD PTR _cosb$3678[ebp]
; Line 1072
fld DWORD PTR _sinb$3677[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3679
fld DWORD PTR _cosb$3678[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L3679
; Line 1073
mov edx, DWORD PTR _a$[ebp]
mov WORD PTR [edx+4], 0
; Line 1074
jmp SHORT $L3680
$L3679:
; Line 1075
mov eax, DWORD PTR _sinb$3677[ebp]
push eax
mov ecx, DWORD PTR _cosb$3678[ebp]
push ecx
call ?FixAtan2@@YAGMM@Z ; FixAtan2
add esp, 8
mov edx, DWORD PTR _a$[ebp]
mov WORD PTR [edx+4], ax
$L3680:
; Line 1079
mov eax, DWORD PTR _a$[ebp]
; Line 1080
mov esp, ebp
pop ebp
ret 0
?vm_ExtractAnglesFromMatrix@@YAPAUangvec@@PAU1@PAUmatrix@@@Z ENDP ; vm_ExtractAnglesFromMatrix
_TEXT ENDS
PUBLIC ?calc_det_value@@YAMPAUmatrix@@@Z ; calc_det_value
_TEXT SEGMENT
_det$ = 8
?calc_det_value@@YAMPAUmatrix@@@Z PROC NEAR ; calc_det_value
; Line 1084
push ebp
mov ebp, esp
; Line 1090
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax]
fmul DWORD PTR [ecx+16]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+32]
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax]
fmul DWORD PTR [ecx+20]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+28]
fsubp ST(1), ST(0)
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR [ecx+12]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+32]
fsubp ST(1), ST(0)
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR [ecx+20]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+24]
faddp ST(1), ST(0)
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax+8]
fmul DWORD PTR [ecx+12]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+28]
faddp ST(1), ST(0)
mov eax, DWORD PTR _det$[ebp]
mov ecx, DWORD PTR _det$[ebp]
fld DWORD PTR [eax+8]
fmul DWORD PTR [ecx+16]
mov edx, DWORD PTR _det$[ebp]
fmul DWORD PTR [edx+24]
fsubp ST(1), ST(0)
; Line 1091
pop ebp
ret 0
?calc_det_value@@YAMPAUmatrix@@@Z ENDP ; calc_det_value
_TEXT ENDS
PUBLIC ?vm_DeltaAngVec@@YAGPAUvector@@00@Z ; vm_DeltaAngVec
PUBLIC ?vm_DeltaAngVecNorm@@YAGPAUvector@@00@Z ; vm_DeltaAngVecNorm
_TEXT SEGMENT
_v0$ = 8
_v1$ = 12
_fvec$ = 16
_t0$ = -12
_t1$ = -24
?vm_DeltaAngVec@@YAGPAUvector@@00@Z PROC NEAR ; vm_DeltaAngVec
; Line 1102
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 1105
mov eax, DWORD PTR _v0$[ebp]
mov ecx, DWORD PTR [eax]
mov DWORD PTR _t0$[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR _t0$[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR _t0$[ebp+8], eax
; Line 1106
mov ecx, DWORD PTR _v1$[ebp]
mov edx, DWORD PTR [ecx]
mov DWORD PTR _t1$[ebp], edx
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR _t1$[ebp+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR _t1$[ebp+8], ecx
; Line 1108
lea edx, DWORD PTR _t0$[ebp]
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 1109
lea eax, DWORD PTR _t1$[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 1111
mov ecx, DWORD PTR _fvec$[ebp]
push ecx
lea edx, DWORD PTR _t1$[ebp]
push edx
lea eax, DWORD PTR _t0$[ebp]
push eax
call ?vm_DeltaAngVecNorm@@YAGPAUvector@@00@Z ; vm_DeltaAngVecNorm
add esp, 12 ; 0000000cH
; Line 1112
mov esp, ebp
pop ebp
ret 0
?vm_DeltaAngVec@@YAGPAUvector@@00@Z ENDP ; vm_DeltaAngVec
_v0$ = 8
_v1$ = 12
_fvec$ = 16
_a$ = -4
_t$3698 = -16
?vm_DeltaAngVecNorm@@YAGPAUvector@@00@Z PROC NEAR ; vm_DeltaAngVecNorm
; Line 1116
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
; Line 1119
mov eax, DWORD PTR _v1$[ebp]
push eax
mov ecx, DWORD PTR _v0$[ebp]
push ecx
call ?vm_DotProduct@@YAMPAUvector@@0@Z ; vm_DotProduct
add esp, 4
fstp DWORD PTR [esp]
call ?FixAcos@@YAGM@Z ; FixAcos
add esp, 4
mov WORD PTR _a$[ebp], ax
; Line 1121
cmp DWORD PTR _fvec$[ebp], 0
je SHORT $L3699
; Line 1124
mov edx, DWORD PTR _v1$[ebp]
push edx
mov eax, DWORD PTR _v0$[ebp]
push eax
lea ecx, DWORD PTR _t$3698[ebp]
push ecx
call ?vm_CrossProduct@@YAXPAUvector@@00@Z ; vm_CrossProduct
add esp, 12 ; 0000000cH
; Line 1125
mov edx, DWORD PTR _fvec$[ebp]
push edx
lea eax, DWORD PTR _t$3698[ebp]
push eax
call ?vm_DotProduct@@YAMPAUvector@@0@Z ; vm_DotProduct
add esp, 8
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L3699
; Line 1126
mov ecx, DWORD PTR _a$[ebp]
and ecx, 65535 ; 0000ffffH
neg ecx
mov WORD PTR _a$[ebp], cx
$L3699:
; Line 1129
mov ax, WORD PTR _a$[ebp]
; Line 1130
mov esp, ebp
pop ebp
ret 0
?vm_DeltaAngVecNorm@@YAGPAUvector@@00@Z ENDP ; vm_DeltaAngVecNorm
_TEXT ENDS
PUBLIC ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
PUBLIC ??D@YA?AUvector@@U0@M@Z ; operator*
PUBLIC ?vm_GetCentroid@@YAMPAUvector@@0H@Z ; vm_GetCentroid
_TEXT SEGMENT
$T10584 = -48
$T10585 = -60
$T10586 = -72
$T10587 = -84
$T10588 = -96
$T10589 = -108
$T10590 = -120
$T10591 = -132
$T10592 = -144
$T10593 = -156
$T10594 = -168
$T10595 = -180
$T10596 = -192
$T10597 = -204
$T10598 = -216
$T10599 = -228
$T10600 = -240
$T10601 = -252
$T10602 = -264
$T10603 = -276
_centroid$ = 8
_src$ = 12
_nv$ = 16
_normal$ = -36
_area$ = -16
_total_area$ = -24
_i$ = -20
_tmp_center$ = -12
?vm_GetCentroid@@YAMPAUvector@@0H@Z PROC NEAR ; vm_GetCentroid
; Line 1135
push ebp
mov ebp, esp
sub esp, 276 ; 00000114H
; Line 1142
mov eax, DWORD PTR _centroid$[ebp]
push eax
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1145
mov ecx, DWORD PTR _src$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _src$[ebp]
add edx, 12 ; 0000000cH
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1146
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _total_area$[ebp]
; Line 1148
mov DWORD PTR _i$[ebp], 2
jmp SHORT $L3710
$L3711:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3710:
mov ecx, DWORD PTR _nv$[ebp]
sub ecx, 1
cmp DWORD PTR _i$[ebp], ecx
jge SHORT $L3712
; Line 1150
mov edx, DWORD PTR _i$[ebp]
add edx, 1
imul edx, 12 ; 0000000cH
mov eax, DWORD PTR _src$[ebp]
add eax, edx
push eax
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1151
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1152
fld DWORD PTR _total_area$[ebp]
fadd DWORD PTR _area$[ebp]
fstp DWORD PTR _total_area$[ebp]
; Line 1153
jmp SHORT $L3711
$L3712:
; Line 1157
mov eax, DWORD PTR _src$[ebp]
add eax, 24 ; 00000018H
push eax
mov ecx, DWORD PTR _src$[ebp]
add ecx, 12 ; 0000000cH
push ecx
mov edx, DWORD PTR _src$[ebp]
push edx
lea eax, DWORD PTR _normal$[ebp]
push eax
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1158
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1161
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1162
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L3713
$L3714:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3713:
cmp DWORD PTR _i$[ebp], 3
jge SHORT $L3715
; Line 1164
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10585[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10584[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10584[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10584[ebp+8], edx
; Line 1165
jmp SHORT $L3714
$L3715:
; Line 1166
push 1077936128 ; 40400000H
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10587[ebp]
push ecx
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10586[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10586[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10586[ebp+8], edx
; Line 1168
fld DWORD PTR _area$[ebp]
fdiv DWORD PTR _total_area$[ebp]
push ecx
fstp DWORD PTR [esp]
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _tmp_center$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmp_center$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmp_center$[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T10590[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10589[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10589[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10589[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10589[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10589[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10589[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR _centroid$[ebp]
push eax
lea ecx, DWORD PTR $T10591[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10588[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10588[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10588[ebp+8], edx
; Line 1171
mov DWORD PTR _i$[ebp], 2
jmp SHORT $L3720
$L3721:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3720:
mov ecx, DWORD PTR _nv$[ebp]
sub ecx, 1
cmp DWORD PTR _i$[ebp], ecx
jge $L3722
; Line 1173
mov edx, DWORD PTR _i$[ebp]
add edx, 1
imul edx, 12 ; 0000000cH
mov eax, DWORD PTR _src$[ebp]
add eax, edx
push eax
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1174
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1176
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1178
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _src$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
lea eax, DWORD PTR $T10593[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10592[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10592[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10592[ebp+8], eax
; Line 1179
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10595[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10594[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10594[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10594[ebp+8], edx
; Line 1180
mov eax, DWORD PTR _i$[ebp]
add eax, 1
imul eax, 12 ; 0000000cH
mov ecx, DWORD PTR _src$[ebp]
add ecx, eax
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
lea eax, DWORD PTR $T10597[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10596[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10596[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10596[ebp+8], eax
; Line 1182
push 1077936128 ; 40400000H
lea ecx, DWORD PTR _tmp_center$[ebp]
push ecx
lea edx, DWORD PTR $T10599[ebp]
push edx
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10598[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10598[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10598[ebp+8], eax
; Line 1184
fld DWORD PTR _area$[ebp]
fdiv DWORD PTR _total_area$[ebp]
push ecx
fstp DWORD PTR [esp]
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _tmp_center$[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _tmp_center$[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _tmp_center$[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10602[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10601[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10601[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10601[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10601[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10601[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10601[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR _centroid$[ebp]
push eax
lea ecx, DWORD PTR $T10603[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10600[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10600[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10600[ebp+8], edx
; Line 1185
jmp $L3721
$L3722:
; Line 1187
fld DWORD PTR _total_area$[ebp]
; Line 1188
mov esp, ebp
pop ebp
ret 0
?vm_GetCentroid@@YAMPAUvector@@0H@Z ENDP ; vm_GetCentroid
_TEXT ENDS
PUBLIC ??H@YA?AUvector@@U0@0@Z ; operator+
; COMDAT ??Y@YA?AUvector@@AAU0@U0@@Z
_TEXT SEGMENT
_a$ = 12
_b$ = 16
$T10605 = 8
$T10606 = -12
$T10607 = -24
??Y@YA?AUvector@@AAU0@U0@@Z PROC NEAR ; operator+=, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 115
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 116
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _b$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _b$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _b$[ebp+8]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _a$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR $T10607[ebp]
push eax
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10606[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10606[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10606[ebp+8], eax
mov ecx, DWORD PTR _a$[ebp]
mov edx, DWORD PTR $T10606[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10606[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10606[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR $T10605[ebp]
mov ecx, DWORD PTR $T10606[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10606[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10606[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10605[ebp]
; Line 117
mov esp, ebp
pop ebp
ret 0
??Y@YA?AUvector@@AAU0@U0@@Z ENDP ; operator+=
_TEXT ENDS
; COMDAT ??H@YA?AUvector@@U0@0@Z
_TEXT SEGMENT
_a$ = 12
_b$ = 24
$T10609 = 8
??H@YA?AUvector@@U0@0@Z PROC NEAR ; operator+, COMDAT
; Line 103
push ebp
mov ebp, esp
; Line 106
fld DWORD PTR _a$[ebp]
fadd DWORD PTR _b$[ebp]
fstp DWORD PTR _a$[ebp]
; Line 107
fld DWORD PTR _a$[ebp+4]
fadd DWORD PTR _b$[ebp+4]
fstp DWORD PTR _a$[ebp+4]
; Line 108
fld DWORD PTR _a$[ebp+8]
fadd DWORD PTR _b$[ebp+8]
fstp DWORD PTR _a$[ebp+8]
; Line 110
mov eax, DWORD PTR $T10609[ebp]
mov ecx, DWORD PTR _a$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _a$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _a$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10609[ebp]
; Line 111
pop ebp
ret 0
??H@YA?AUvector@@U0@0@Z ENDP ; operator+
_TEXT ENDS
; COMDAT ??D@YA?AUvector@@U0@M@Z
_TEXT SEGMENT
_v$ = 12
_s$ = 24
$T10611 = 8
??D@YA?AUvector@@U0@M@Z PROC NEAR ; operator*, COMDAT
; Line 181
push ebp
mov ebp, esp
; Line 182
fld DWORD PTR _v$[ebp]
fmul DWORD PTR _s$[ebp]
fstp DWORD PTR _v$[ebp]
; Line 183
fld DWORD PTR _v$[ebp+4]
fmul DWORD PTR _s$[ebp]
fstp DWORD PTR _v$[ebp+4]
; Line 184
fld DWORD PTR _v$[ebp+8]
fmul DWORD PTR _s$[ebp]
fstp DWORD PTR _v$[ebp+8]
; Line 186
mov eax, DWORD PTR $T10611[ebp]
mov ecx, DWORD PTR _v$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _v$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _v$[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10611[ebp]
; Line 187
pop ebp
ret 0
??D@YA?AUvector@@U0@M@Z ENDP ; operator*
_TEXT ENDS
PUBLIC ?vm_GetCentroidFast@@YAMPAUvector@@0H@Z ; vm_GetCentroidFast
_TEXT SEGMENT
$T10613 = -48
$T10614 = -60
$T10615 = -72
$T10616 = -84
$T10617 = -96
$T10618 = -108
$T10619 = -120
$T10620 = -132
$T10621 = -144
$T10622 = -156
$T10623 = -168
$T10624 = -180
$T10625 = -192
$T10626 = -204
$T10627 = -216
$T10628 = -228
$T10629 = -240
$T10630 = -252
$T10631 = -264
$T10632 = -276
_centroid$ = 8
_src$ = 12
_nv$ = 16
_normal$ = -36
_area$ = -16
_total_area$ = -24
_i$ = -20
_tmp_center$ = -12
?vm_GetCentroidFast@@YAMPAUvector@@0H@Z PROC NEAR ; vm_GetCentroidFast
; File osiris_vector.h
; Line 1193
push ebp
mov ebp, esp
sub esp, 276 ; 00000114H
; Line 1200
mov eax, DWORD PTR _centroid$[ebp]
push eax
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1203
mov ecx, DWORD PTR _src$[ebp]
add ecx, 24 ; 00000018H
push ecx
mov edx, DWORD PTR _src$[ebp]
add edx, 12 ; 0000000cH
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1204
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _total_area$[ebp]
; Line 1206
mov DWORD PTR _i$[ebp], 2
jmp SHORT $L3739
$L3740:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3739:
mov ecx, DWORD PTR _nv$[ebp]
sub ecx, 1
cmp DWORD PTR _i$[ebp], ecx
jge SHORT $L3741
; Line 1208
mov edx, DWORD PTR _i$[ebp]
add edx, 1
imul edx, 12 ; 0000000cH
mov eax, DWORD PTR _src$[ebp]
add eax, edx
push eax
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1209
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1210
fld DWORD PTR _total_area$[ebp]
fadd DWORD PTR _area$[ebp]
fstp DWORD PTR _total_area$[ebp]
; Line 1211
jmp SHORT $L3740
$L3741:
; Line 1215
mov eax, DWORD PTR _src$[ebp]
add eax, 24 ; 00000018H
push eax
mov ecx, DWORD PTR _src$[ebp]
add ecx, 12 ; 0000000cH
push ecx
mov edx, DWORD PTR _src$[ebp]
push edx
lea eax, DWORD PTR _normal$[ebp]
push eax
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1216
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1219
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1220
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L3742
$L3743:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3742:
cmp DWORD PTR _i$[ebp], 3
jge SHORT $L3744
; Line 1222
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10614[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10613[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10613[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10613[ebp+8], edx
; Line 1223
jmp SHORT $L3743
$L3744:
; Line 1224
push 1077936128 ; 40400000H
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10616[ebp]
push ecx
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10615[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10615[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10615[ebp+8], edx
; Line 1226
fld DWORD PTR _area$[ebp]
fdiv DWORD PTR _total_area$[ebp]
push ecx
fstp DWORD PTR [esp]
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _tmp_center$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _tmp_center$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _tmp_center$[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T10619[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10618[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10618[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10618[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10618[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10618[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10618[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR _centroid$[ebp]
push eax
lea ecx, DWORD PTR $T10620[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10617[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10617[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10617[ebp+8], edx
; Line 1229
mov DWORD PTR _i$[ebp], 2
jmp SHORT $L3749
$L3750:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L3749:
mov ecx, DWORD PTR _nv$[ebp]
sub ecx, 1
cmp DWORD PTR _i$[ebp], ecx
jge $L3751
; Line 1231
mov edx, DWORD PTR _i$[ebp]
add edx, 1
imul edx, 12 ; 0000000cH
mov eax, DWORD PTR _src$[ebp]
add eax, edx
push eax
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
push edx
mov eax, DWORD PTR _src$[ebp]
push eax
lea ecx, DWORD PTR _normal$[ebp]
push ecx
call ?vm_GetPerp@@YAXPAUvector@@000@Z ; vm_GetPerp
add esp, 16 ; 00000010H
; Line 1232
lea edx, DWORD PTR _normal$[ebp]
push edx
call ?vm_GetMagnitudeFast@@YAMPAUvector@@@Z ; vm_GetMagnitudeFast
add esp, 4
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _area$[ebp]
; Line 1234
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
call ?vm_MakeZero@@YAXPAUvector@@@Z ; vm_MakeZero
add esp, 4
; Line 1236
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _src$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
lea eax, DWORD PTR $T10622[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10621[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10621[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10621[ebp+8], eax
; Line 1237
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _src$[ebp]
add edx, ecx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR _tmp_center$[ebp]
push eax
lea ecx, DWORD PTR $T10624[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10623[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10623[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10623[ebp+8], edx
; Line 1238
mov eax, DWORD PTR _i$[ebp]
add eax, 1
imul eax, 12 ; 0000000cH
mov ecx, DWORD PTR _src$[ebp]
add ecx, eax
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR _tmp_center$[ebp]
push edx
lea eax, DWORD PTR $T10626[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10625[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10625[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10625[ebp+8], eax
; Line 1240
push 1077936128 ; 40400000H
lea ecx, DWORD PTR _tmp_center$[ebp]
push ecx
lea edx, DWORD PTR $T10628[ebp]
push edx
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10627[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10627[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10627[ebp+8], eax
; Line 1242
fld DWORD PTR _area$[ebp]
fdiv DWORD PTR _total_area$[ebp]
push ecx
fstp DWORD PTR [esp]
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _tmp_center$[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _tmp_center$[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _tmp_center$[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10631[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10630[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10630[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10630[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10630[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10630[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10630[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR _centroid$[ebp]
push eax
lea ecx, DWORD PTR $T10632[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10629[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10629[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10629[ebp+8], edx
; Line 1243
jmp $L3750
$L3751:
; Line 1245
fld DWORD PTR _total_area$[ebp]
; Line 1246
mov esp, ebp
pop ebp
ret 0
?vm_GetCentroidFast@@YAMPAUvector@@0H@Z ENDP ; vm_GetCentroidFast
_TEXT ENDS
PUBLIC ?vm_MakeRandomVector@@YAXPAUvector@@@Z ; vm_MakeRandomVector
EXTRN _rand:NEAR
_TEXT SEGMENT
_vec$ = 8
?vm_MakeRandomVector@@YAXPAUvector@@@Z PROC NEAR ; vm_MakeRandomVector
; Line 1251
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
; Line 1252
call _rand
sub eax, 16383 ; 00003fffH
mov DWORD PTR -4+[ebp], eax
fild DWORD PTR -4+[ebp]
mov eax, DWORD PTR _vec$[ebp]
fstp DWORD PTR [eax]
; Line 1253
call _rand
sub eax, 16383 ; 00003fffH
mov DWORD PTR -8+[ebp], eax
fild DWORD PTR -8+[ebp]
mov ecx, DWORD PTR _vec$[ebp]
fstp DWORD PTR [ecx+4]
; Line 1254
call _rand
sub eax, 16383 ; 00003fffH
mov DWORD PTR -12+[ebp], eax
fild DWORD PTR -12+[ebp]
mov edx, DWORD PTR _vec$[ebp]
fstp DWORD PTR [edx+8]
; Line 1255
mov esp, ebp
pop ebp
ret 0
?vm_MakeRandomVector@@YAXPAUvector@@@Z ENDP ; vm_MakeRandomVector
_TEXT ENDS
PUBLIC ?vm_ComputeBoundingSphere@@YAMPAUvector@@0H@Z ; vm_ComputeBoundingSphere
_TEXT SEGMENT
$T10635 = -84
$T10636 = -96
$T10637 = -108
$T10638 = -120
$T10639 = -132
$T10640 = -144
$T10641 = -156
$T10642 = -168
$T10643 = -180
$T10644 = -192
$T10645 = -204
$T10646 = -216
$T10647 = -228
$T10648 = -240
$T10649 = -252
$T10650 = -264
$T10651 = -276
$T10652 = -288
$T10653 = -300
$T10654 = -312
$T10655 = -324
$T10656 = -336
$T10657 = -348
$T10658 = -360
_center$ = 8
_vecs$ = 12
_num_verts$ = 16
_min_x$ = -40
_max_x$ = -16
_min_y$ = -52
_max_y$ = -20
_min_z$ = -8
_max_z$ = -24
_vp$ = -48
_dx$ = -36
_dy$ = -44
_dz$ = -4
_rad$ = -28
_rad2$ = -12
_i$ = -32
_delta$3805 = -68
_t2$3806 = -56
_t$3809 = -72
?vm_ComputeBoundingSphere@@YAMPAUvector@@0H@Z PROC NEAR ; vm_ComputeBoundingSphere
; Line 1260
push ebp
mov ebp, esp
sub esp, 360 ; 00000168H
; Line 1270
mov eax, DWORD PTR _vecs$[ebp]
mov DWORD PTR _max_z$[ebp], eax
mov ecx, DWORD PTR _max_z$[ebp]
mov DWORD PTR _min_z$[ebp], ecx
mov edx, DWORD PTR _min_z$[ebp]
mov DWORD PTR _max_y$[ebp], edx
mov eax, DWORD PTR _max_y$[ebp]
mov DWORD PTR _min_y$[ebp], eax
mov ecx, DWORD PTR _min_y$[ebp]
mov DWORD PTR _max_x$[ebp], ecx
mov edx, DWORD PTR _max_x$[ebp]
mov DWORD PTR _min_x$[ebp], edx
; Line 1273
mov DWORD PTR _i$[ebp], 0
mov eax, DWORD PTR _vecs$[ebp]
mov DWORD PTR _vp$[ebp], eax
jmp SHORT $L3779
$L3780:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
mov edx, DWORD PTR _vp$[ebp]
add edx, 12 ; 0000000cH
mov DWORD PTR _vp$[ebp], edx
$L3779:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR _num_verts$[ebp]
jge $L3781
; Line 1275
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _min_x$[ebp]
fld DWORD PTR [ecx]
fcomp DWORD PTR [edx]
fnstsw ax
test ah, 1
je SHORT $L3782
; Line 1276
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _min_x$[ebp], eax
$L3782:
; Line 1278
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _max_x$[ebp]
fld DWORD PTR [ecx]
fcomp DWORD PTR [edx]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L3783
; Line 1279
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _max_x$[ebp], eax
$L3783:
; Line 1281
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _min_y$[ebp]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR [edx+4]
fnstsw ax
test ah, 1
je SHORT $L3784
; Line 1282
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _min_y$[ebp], eax
$L3784:
; Line 1284
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _max_y$[ebp]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR [edx+4]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L3785
; Line 1285
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _max_y$[ebp], eax
$L3785:
; Line 1287
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _min_z$[ebp]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR [edx+8]
fnstsw ax
test ah, 1
je SHORT $L3786
; Line 1288
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _min_z$[ebp], eax
$L3786:
; Line 1290
mov ecx, DWORD PTR _vp$[ebp]
mov edx, DWORD PTR _max_z$[ebp]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR [edx+8]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L3787
; Line 1291
mov eax, DWORD PTR _vp$[ebp]
mov DWORD PTR _max_z$[ebp], eax
$L3787:
; Line 1292
jmp $L3780
$L3781:
; Line 1296
mov ecx, DWORD PTR _max_x$[ebp]
push ecx
mov edx, DWORD PTR _min_x$[ebp]
push edx
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dx$[ebp]
; Line 1297
mov eax, DWORD PTR _max_y$[ebp]
push eax
mov ecx, DWORD PTR _min_y$[ebp]
push ecx
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dy$[ebp]
; Line 1298
mov edx, DWORD PTR _max_z$[ebp]
push edx
mov eax, DWORD PTR _min_z$[ebp]
push eax
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dz$[ebp]
; Line 1300
fld DWORD PTR _dx$[ebp]
fcomp DWORD PTR _dy$[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L3788
; Line 1301
fld DWORD PTR _dx$[ebp]
fcomp DWORD PTR _dz$[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L3789
; Line 1302
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _max_x$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _min_x$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR $T10637[ebp]
push eax
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10636[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10636[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10636[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10636[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10636[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10636[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10638[ebp]
push eax
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10635[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10635[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10635[ebp+8], eax
mov ecx, DWORD PTR _center$[ebp]
mov edx, DWORD PTR $T10635[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10635[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10635[ebp+8]
mov DWORD PTR [ecx+8], edx
fld DWORD PTR _dx$[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _rad$[ebp]
; Line 1304
jmp $L3792
$L3789:
; Line 1305
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _max_z$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _min_z$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10641[ebp]
push edx
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10640[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10640[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10640[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10640[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10640[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10640[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10642[ebp]
push eax
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10639[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10639[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10639[ebp+8], eax
mov ecx, DWORD PTR _center$[ebp]
mov edx, DWORD PTR $T10639[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10639[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10639[ebp+8]
mov DWORD PTR [ecx+8], edx
fld DWORD PTR _dz$[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _rad$[ebp]
$L3792:
; Line 1307
jmp $L3799
$L3788:
; Line 1308
fld DWORD PTR _dy$[ebp]
fcomp DWORD PTR _dz$[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L3796
; Line 1309
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _max_y$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _min_y$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10645[ebp]
push edx
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10644[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10644[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10644[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10644[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10644[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10644[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10646[ebp]
push eax
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10643[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10643[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10643[ebp+8], eax
mov ecx, DWORD PTR _center$[ebp]
mov edx, DWORD PTR $T10643[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10643[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10643[ebp+8]
mov DWORD PTR [ecx+8], edx
fld DWORD PTR _dy$[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _rad$[ebp]
; Line 1311
jmp $L3799
$L3796:
; Line 1312
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _max_z$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _min_z$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10649[ebp]
push edx
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10648[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10648[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10648[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10648[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10648[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10648[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10650[ebp]
push eax
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10647[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10647[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10647[ebp+8], eax
mov ecx, DWORD PTR _center$[ebp]
mov edx, DWORD PTR $T10647[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10647[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10647[ebp+8]
mov DWORD PTR [ecx+8], edx
fld DWORD PTR _dz$[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR _rad$[ebp]
$L3799:
; Line 1317
fld DWORD PTR _rad$[ebp]
fmul DWORD PTR _rad$[ebp]
fstp DWORD PTR _rad2$[ebp]
; Line 1318
mov DWORD PTR _i$[ebp], 0
mov eax, DWORD PTR _vecs$[ebp]
mov DWORD PTR _vp$[ebp], eax
jmp SHORT $L3802
$L3803:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
mov edx, DWORD PTR _vp$[ebp]
add edx, 12 ; 0000000cH
mov DWORD PTR _vp$[ebp], edx
$L3802:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR _num_verts$[ebp]
jge $L3804
; Line 1322
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _center$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _vp$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR $T10652[ebp]
push eax
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10651[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10651[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10651[ebp+8], eax
mov ecx, DWORD PTR $T10651[ebp]
mov DWORD PTR _delta$3805[ebp], ecx
mov edx, DWORD PTR $T10651[ebp+4]
mov DWORD PTR _delta$3805[ebp+4], edx
mov eax, DWORD PTR $T10651[ebp+8]
mov DWORD PTR _delta$3805[ebp+8], eax
; Line 1323
fld DWORD PTR _delta$3805[ebp]
fmul DWORD PTR _delta$3805[ebp]
fld DWORD PTR _delta$3805[ebp+4]
fmul DWORD PTR _delta$3805[ebp+4]
faddp ST(1), ST(0)
fld DWORD PTR _delta$3805[ebp+8]
fmul DWORD PTR _delta$3805[ebp+8]
faddp ST(1), ST(0)
fstp DWORD PTR _t2$3806[ebp]
; Line 1326
fld DWORD PTR _t2$3806[ebp]
fcomp DWORD PTR _rad2$[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L3808
; Line 1329
fld DWORD PTR _t2$3806[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _sqrt
add esp, 8
fstp DWORD PTR _t$3809[ebp]
; Line 1330
fld DWORD PTR _rad$[ebp]
fadd DWORD PTR _t$3809[ebp]
fdiv DWORD PTR __real@4@40008000000000000000
fst DWORD PTR _rad$[ebp]
; Line 1331
fmul DWORD PTR _rad$[ebp]
fstp DWORD PTR _rad2$[ebp]
; Line 1332
fld DWORD PTR _t$3809[ebp]
fsub DWORD PTR _rad$[ebp]
push ecx
fstp DWORD PTR [esp]
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _delta$3805[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _delta$3805[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _delta$3805[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T10656[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10655[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10655[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10655[ebp+8], eax
mov ecx, DWORD PTR _t$3809[ebp]
push ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR $T10655[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR $T10655[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR $T10655[ebp+8]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T10657[ebp]
push ecx
call ??K@YA?AUvector@@U0@M@Z ; operator/
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10654[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10654[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10654[ebp+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T10654[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10654[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10654[ebp+8]
mov DWORD PTR [eax+8], ecx
mov edx, DWORD PTR _center$[ebp]
push edx
lea eax, DWORD PTR $T10658[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10653[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10653[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10653[ebp+8], eax
$L3808:
; Line 1334
jmp $L3803
$L3804:
; Line 1337
fld DWORD PTR _rad$[ebp]
; Line 1338
mov esp, ebp
pop ebp
ret 0
?vm_ComputeBoundingSphere@@YAMPAUvector@@0H@Z ENDP ; vm_ComputeBoundingSphere
_TEXT ENDS
PUBLIC ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
_TEXT SEGMENT
_index$ = 8
?GetStringFromTable@@YAPADH@Z PROC NEAR ; GetStringFromTable
; File aigame.cpp
; Line 37
push ebp
mov ebp, esp
; Line 38
cmp DWORD PTR _index$[ebp], 0
jl SHORT $L3843
mov eax, DWORD PTR _index$[ebp]
cmp eax, DWORD PTR ?String_table_size@@3HA ; String_table_size
jl SHORT $L3842
$L3843:
; Line 39
mov eax, DWORD PTR __Error_string
jmp SHORT $L3841
$L3842:
; Line 40
mov ecx, DWORD PTR _index$[ebp]
mov edx, DWORD PTR ?String_table@@3PAPADA ; String_table
cmp DWORD PTR [edx+ecx*4], 0
jne SHORT $L3844
; Line 41
mov eax, DWORD PTR __Empty_string
jmp SHORT $L3841
$L3844:
; Line 42
mov eax, DWORD PTR _index$[ebp]
mov ecx, DWORD PTR ?String_table@@3PAPADA ; String_table
mov eax, DWORD PTR [ecx+eax*4]
$L3841:
; Line 43
pop ebp
ret 0
?GetStringFromTable@@YAPADH@Z ENDP ; GetStringFromTable
_TEXT ENDS
PUBLIC ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
_TEXT SEGMENT
_me$ = 8
_child_name$ = 12
_child_type$ = 16
_parent_ap$ = 20
_child_ap$ = 24
_f_aligned$ = 28
_f_set_parent$ = 32
_child_handle$ = -4
_child_id$ = -8
_m$ = -928
_parent$3858 = -932
?CreateAndAttach@@YAHHPADEDD_N1@Z PROC NEAR ; CreateAndAttach
; Line 190
push ebp
mov ebp, esp
sub esp, 932 ; 000003a4H
; Line 191
mov DWORD PTR _child_handle$[ebp], -1
; Line 192
mov eax, DWORD PTR _child_name$[ebp]
push eax
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _child_id$[ebp], eax
; Line 194
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], ecx
; Line 195
lea edx, DWORD PTR _m$[ebp]
push edx
push 38 ; 00000026H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 196
lea eax, DWORD PTR _m$[ebp]
push eax
push 40 ; 00000028H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 198
cmp DWORD PTR _child_id$[ebp], 0
jl SHORT $L3862
; Line 201
mov ecx, DWORD PTR _f_set_parent$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L3859
; Line 202
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _parent$3858[ebp], edx
; Line 203
jmp SHORT $L3860
$L3859:
; Line 204
mov DWORD PTR _parent$3858[ebp], -1
$L3860:
; Line 206
push 0
mov eax, DWORD PTR _parent$3858[ebp]
push eax
push 0
lea ecx, DWORD PTR _m$[ebp+176]
push ecx
mov edx, DWORD PTR _m$[ebp]
push edx
mov ax, WORD PTR _child_id$[ebp]
push eax
mov cl, BYTE PTR _child_type$[ebp]
push ecx
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _child_handle$[ebp], eax
; Line 207
cmp DWORD PTR _child_handle$[ebp], -1
je SHORT $L3862
; Line 209
mov dl, BYTE PTR _f_aligned$[ebp]
push edx
mov al, BYTE PTR _child_ap$[ebp]
push eax
mov ecx, DWORD PTR _child_handle$[ebp]
push ecx
mov dl, BYTE PTR _parent_ap$[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_AttachObjectAP@@3P6AHHDHDE@ZA ; Obj_AttachObjectAP
add esp, 20 ; 00000014H
$L3862:
; Line 216
mov eax, DWORD PTR _child_handle$[ebp]
; Line 217
mov esp, ebp
pop ebp
ret 0
?CreateAndAttach@@YAHHPADEDD_N1@Z ENDP ; CreateAndAttach
_TEXT ENDS
PUBLIC __real@4@400dfffe000000000000
PUBLIC __real@4@3fff8000000000000000
PUBLIC ?SetMode@SuperThief@@AAEXHD@Z ; SuperThief::SetMode
; COMDAT __real@4@400dfffe000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@400dfffe000000000000 DD 046fffe00r ; 32767
CONST ENDS
; COMDAT __real@4@3fff8000000000000000
CONST SEGMENT
__real@4@3fff8000000000000000 DD 03f800000r ; 1
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -12
_flags$5628 = -4
_temp$5629 = -8
?SetMode@SuperThief@@AAEXHD@Z PROC NEAR ; SuperThief::SetMode
; File aigame.cpp
; Line 1770
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 1771
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 1774
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR -16+[ebp], cl
cmp BYTE PTR -16+[ebp], 0
je SHORT $L5625
cmp BYTE PTR -16+[ebp], 1
je SHORT $L5626
cmp BYTE PTR -16+[ebp], 2
je SHORT $L5627
jmp $L5620
$L5625:
; Line 1785
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 1786
jmp $L5620
$L5626:
; Line 1788
push 6
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 1789
jmp $L5620
$L5627:
; Line 1792
mov DWORD PTR _flags$5628[ebp], 128 ; 00000080H
; Line 1793
lea ecx, DWORD PTR _flags$5628[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 1795
mov DWORD PTR _flags$5628[ebp], 25165824 ; 01800000H
; Line 1796
lea eax, DWORD PTR _flags$5628[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 1798
mov edx, DWORD PTR _me$[ebp]
push edx
push 65540 ; 00010004H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 1800
mov DWORD PTR _temp$5629[ebp], 0
; Line 1801
lea ecx, DWORD PTR _temp$5629[ebp]
push ecx
push 2
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 1802
push -1
push -1
push 0
push 1086324736 ; 40c00000H
push 1133641728 ; 43920000H
push 1131806720 ; 43760000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L5620:
; Line 1807
call _rand
mov DWORD PTR -20+[ebp], eax
fild DWORD PTR -20+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+20]
; Line 1808
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx+12], dl
; Line 1809
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 0
; Line 1810
mov esp, ebp
pop ebp
ret 8
?SetMode@SuperThief@@AAEXHD@Z ENDP ; SuperThief::SetMode
_TEXT ENDS
PUBLIC ??X@YA?AUvector@@AAU0@M@Z ; operator*=
PUBLIC __real@4@4003a000000000000000
PUBLIC __real@4@4001a000000000000000
PUBLIC __real@4@3ffe8000000000000000
PUBLIC ?SpewEverything@SuperThief@@AAEXH@Z ; SuperThief::SpewEverything
; COMDAT __real@4@4003a000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4003a000000000000000 DD 041a00000r ; 20
CONST ENDS
; COMDAT __real@4@4001a000000000000000
CONST SEGMENT
__real@4@4001a000000000000000 DD 040a00000r ; 5
CONST ENDS
; COMDAT __real@4@3ffe8000000000000000
CONST SEGMENT
__real@4@3ffe8000000000000000 DD 03f000000r ; 0.5
CONST ENDS
_TEXT SEGMENT
$T10667 = -60
$T10668 = -72
_me$ = 8
_this$ = -76
_i$ = -8
_powerup_handle$ = -4
_room$ = -12
_pos$ = -24
_id$5643 = -32
_j$5644 = -28
_speed$5648 = -36
_dir$5650 = -48
?SpewEverything@SuperThief@@AAEXH@Z PROC NEAR ; SuperThief::SpewEverything
; File aigame.cpp
; Line 1813
push ebp
mov ebp, esp
sub esp, 92 ; 0000005cH
mov DWORD PTR _this$[ebp], ecx
; Line 1819
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 1820
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 1822
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L5640
$L5641:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L5640:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR [eax+28]
jge $L5642
; Line 1827
mov DWORD PTR _j$5644[ebp], 0
jmp SHORT $L5645
$L5646:
mov edx, DWORD PTR _j$5644[ebp]
add edx, 1
mov DWORD PTR _j$5644[ebp], edx
$L5645:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+40]
cmp DWORD PTR _j$5644[ebp], eax
jge $L5647
; Line 1829
call _rand
mov DWORD PTR -80+[ebp], eax
fild DWORD PTR -80+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003a000000000000000
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR _speed$5648[ebp]
; Line 1832
call _rand
mov DWORD PTR -84+[ebp], eax
fild DWORD PTR -84+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$5650[ebp]
; Line 1833
call _rand
mov DWORD PTR -88+[ebp], eax
fild DWORD PTR -88+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$5650[ebp+4]
; Line 1834
call _rand
mov DWORD PTR -92+[ebp], eax
fild DWORD PTR -92+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$5650[ebp+8]
; Line 1836
lea ecx, DWORD PTR _dir$5650[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 1837
mov edx, DWORD PTR _speed$5648[ebp]
push edx
lea eax, DWORD PTR _dir$5650[ebp]
push eax
lea ecx, DWORD PTR $T10668[ebp]
push ecx
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10667[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10667[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10667[ebp+8], edx
; Line 1839
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+32]
push eax
lea ecx, DWORD PTR _id$5643[ebp]
push ecx
push 9
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR [eax+ecx+36]
push edx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 1840
lea eax, DWORD PTR _dir$5650[ebp]
push eax
push -1
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
mov edx, DWORD PTR _room$[ebp]
push edx
mov ax, WORD PTR _id$5643[ebp]
push eax
push 7
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _powerup_handle$[ebp], eax
; Line 1841
jmp $L5646
$L5647:
; Line 1843
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
imul eax, 12 ; 0000000cH
mov BYTE PTR [edx+eax+40], 0
; Line 1844
jmp $L5641
$L5642:
; Line 1845
mov esp, ebp
pop ebp
ret 4
?SpewEverything@SuperThief@@AAEXH@Z ENDP ; SuperThief::SpewEverything
_TEXT ENDS
; COMDAT ??X@YA?AUvector@@AAU0@M@Z
_TEXT SEGMENT
_v$ = 12
_s$ = 16
$T10676 = 8
$T10677 = -12
$T10678 = -24
??X@YA?AUvector@@AAU0@M@Z PROC NEAR ; operator*=, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 191
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 192
mov eax, DWORD PTR _s$[ebp]
push eax
sub esp, 12 ; 0000000cH
mov ecx, DWORD PTR _v$[ebp]
mov edx, esp
mov eax, DWORD PTR [ecx]
mov DWORD PTR [edx], eax
mov eax, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
mov ecx, DWORD PTR [ecx+8]
mov DWORD PTR [edx+8], ecx
lea edx, DWORD PTR $T10678[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10677[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10677[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10677[ebp+8], eax
mov ecx, DWORD PTR _v$[ebp]
mov edx, DWORD PTR $T10677[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10677[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10677[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR $T10676[ebp]
mov ecx, DWORD PTR $T10677[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T10677[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T10677[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T10676[ebp]
; Line 193
mov esp, ebp
pop ebp
ret 0
??X@YA?AUvector@@AAU0@M@Z ENDP ; operator*=
_TEXT ENDS
PUBLIC ?DoSteal@SuperThief@@AAE_NHH@Z ; SuperThief::DoSteal
PUBLIC ?DoNotify@SuperThief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; SuperThief::DoNotify
_TEXT SEGMENT
_me$ = 8
_notify$ = 12
_this$ = -16
_target_handle$5661 = -4
_target_type$5662 = -8
_f_success$5664 = -12
?DoNotify@SuperThief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z PROC NEAR ; SuperThief::DoNotify
; File aigame.cpp
; Line 1848
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
mov DWORD PTR _this$[ebp], ecx
; Line 1849
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax], 23 ; 00000017H
jne SHORT $L5663
; Line 1854
lea ecx, DWORD PTR _target_handle$5661[ebp]
push ecx
push 19 ; 00000013H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 1855
push 0
lea eax, DWORD PTR _target_type$5662[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _target_handle$5661[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 1857
cmp DWORD PTR _target_type$5662[ebp], 4
jne SHORT $L5663
; Line 1861
call _rand
mov DWORD PTR -20+[ebp], eax
fild DWORD PTR -20+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+20]
; Line 1862
mov ecx, DWORD PTR _target_handle$5661[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoSteal@SuperThief@@AAE_NHH@Z ; SuperThief::DoSteal
mov BYTE PTR _f_success$5664[ebp], al
$L5663:
; Line 1867
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+12]
mov BYTE PTR -24+[ebp], dl
cmp BYTE PTR -24+[ebp], 3
je SHORT $L5671
cmp BYTE PTR -24+[ebp], 4
je SHORT $L5673
jmp SHORT $L5668
$L5671:
; Line 1870
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax], 27 ; 0000001bH
jne SHORT $L5672
; Line 1872
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SuperThief@@AAEXHD@Z ; SuperThief::SetMode
$L5672:
; Line 1875
jmp SHORT $L5668
$L5673:
; Line 1879
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx], 28 ; 0000001cH
jne SHORT $L5674
; Line 1881
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SuperThief@@AAEXHD@Z ; SuperThief::SetMode
$L5674:
$L5668:
; Line 1886
mov al, 1
; Line 1887
mov esp, ebp
pop ebp
ret 8
?DoNotify@SuperThief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ENDP ; SuperThief::DoNotify
_TEXT ENDS
PUBLIC __real@4@4000a000000000000000
PUBLIC __real@4@400e8000000000000000
EXTRN _sprintf:NEAR
EXTRN _free:NEAR
EXTRN _malloc:NEAR
EXTRN _strcpy:NEAR
_DATA SEGMENT
ORG $+3
$SG5700 DB 'SUPER THIEF: no mo'' room', 0aH, 00H
ORG $+2
$SG5721 DB 'Super Thief: Nice %s!', 0aH, 00H
ORG $+1
$SG5727 DB 'Super Thief: Not taking anything', 0aH, 00H
_DATA ENDS
; COMDAT __real@4@4000a000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4000a000000000000000 DD 040200000r ; 2.5
CONST ENDS
; COMDAT __real@4@400e8000000000000000
CONST SEGMENT
__real@4@400e8000000000000000 DD 047000000r ; 32768
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_this$ = -316
_max_tries$ = -8
_i$ = -24
_count_max$ = -32
_count_num$ = -20
_attempted_steals$ = -28
_ftime$ = -4
_can_take$5701 = -296
_amount$5702 = -36
_message$5703 = -292
_max$5712 = -300
_new_amount$5715 = -304
_wpn$5724 = -312
_snd$5725 = -308
?DoSteal@SuperThief@@AAE_NHH@Z PROC NEAR ; SuperThief::DoSteal
; File aigame.cpp
; Line 1890
push ebp
mov ebp, esp
sub esp, 332 ; 0000014cH
mov DWORD PTR _this$[ebp], ecx
; Line 1891
mov eax, DWORD PTR ?numSuperThiefableItems@@3HA ; numSuperThiefableItems
mov DWORD PTR _max_tries$[ebp], eax
; Line 1897
mov ecx, DWORD PTR ?numSuperThiefableItems@@3HA ; numSuperThiefableItems
push ecx
call _malloc
add esp, 4
mov DWORD PTR _attempted_steals$[ebp], eax
; Line 1898
cmp DWORD PTR _attempted_steals$[ebp], 0
jne SHORT $L5689
; Line 1899
xor al, al
jmp $L5679
$L5689:
; Line 1901
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fstp DWORD PTR _ftime$[ebp]
; Line 1902
fld DWORD PTR _ftime$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L5691
; Line 1903
mov DWORD PTR _ftime$[ebp], 1065353216 ; 3f800000H
$L5691:
; Line 1904
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fdiv DWORD PTR _ftime$[ebp]
call __ftol
push eax
call _srand
add esp, 4
; Line 1906
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L5692
$L5693:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L5692:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR ?numSuperThiefableItems@@3HA ; numSuperThiefableItems
jge SHORT $L5694
; Line 1908
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
mov BYTE PTR [ecx], 0
; Line 1909
jmp SHORT $L5693
$L5694:
; Line 1911
mov edx, DWORD PTR _max_tries$[ebp]
mov eax, DWORD PTR _max_tries$[ebp]
sub eax, 1
mov DWORD PTR _max_tries$[ebp], eax
test edx, edx
je $L5697
; Line 1913
call _rand
cdq
idiv DWORD PTR ?numSuperThiefableItems@@3HA ; numSuperThiefableItems
mov DWORD PTR _i$[ebp], edx
; Line 1915
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dl, BYTE PTR [ecx]
test edx, edx
je SHORT $L5698
; Line 1918
mov eax, DWORD PTR _max_tries$[ebp]
add eax, 1
mov DWORD PTR _max_tries$[ebp], eax
; Line 1919
jmp SHORT $L5694
$L5698:
; Line 1922
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
mov BYTE PTR [ecx], 1
; Line 1925
mov DWORD PTR _count_max$[ebp], 25 ; 00000019H
; Line 1926
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
mov DWORD PTR _count_num$[ebp], ecx
; Line 1928
mov edx, DWORD PTR _count_num$[ebp]
cmp edx, DWORD PTR _count_max$[ebp]
jl SHORT $L5699
; Line 1930
push OFFSET FLAT:$SG5700
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 1931
jmp SHORT $L5694
$L5699:
; Line 1936
mov BYTE PTR _can_take$5701[ebp], 0
; Line 1937
mov DWORD PTR _amount$5702[ebp], 0
; Line 1941
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+8]
mov DWORD PTR -320+[ebp], ecx
cmp DWORD PTR -320+[ebp], 0
je SHORT $L5708
cmp DWORD PTR -320+[ebp], 1
je SHORT $L5710
jmp $L5705
$L5708:
; Line 1944
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
mov eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx]
push eax
lea ecx, DWORD PTR _amount$5702[ebp]
push ecx
push 7
push 1
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 1945
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
cmp DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax], 0
je SHORT $L5709
cmp DWORD PTR _amount$5702[ebp], 0
je SHORT $L5709
; Line 1947
mov BYTE PTR _can_take$5701[ebp], 1
; Line 1948
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 28 ; 0000001cH
mov edx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[ecx+16]
push edx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push 90 ; 0000005aH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea eax, DWORD PTR _message$5703[ebp]
push eax
call _sprintf
add esp, 12 ; 0000000cH
$L5709:
; Line 1950
jmp $L5705
$L5710:
; Line 1955
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 28 ; 0000001cH
mov edx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[ecx]
push edx
lea eax, DWORD PTR _amount$5702[ebp]
push eax
push 7
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 1957
cmp DWORD PTR _amount$5702[ebp], 0
je $L5719
; Line 1961
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
cmp DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx], 14 ; 0000000eH
jle SHORT $L5713
; Line 1964
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, 19 ; 00000013H
sub ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax]
mov DWORD PTR -324+[ebp], ecx
fild DWORD PTR -324+[ebp]
fdiv DWORD PTR __real@4@4000a000000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _max$5712[ebp], eax
; Line 1965
jmp SHORT $L5714
$L5713:
; Line 1968
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
mov eax, 14 ; 0000000eH
sub eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx]
mov DWORD PTR -328+[ebp], eax
fild DWORD PTR -328+[ebp]
fdiv DWORD PTR __real@4@4000a000000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _max$5712[ebp], eax
$L5714:
; Line 1971
call _rand
mov DWORD PTR -332+[ebp], eax
fild DWORD PTR -332+[ebp]
fdiv DWORD PTR __real@4@400e8000000000000000
fimul DWORD PTR _max$5712[ebp]
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _new_amount$5715[ebp], eax
; Line 1973
mov ecx, DWORD PTR _new_amount$5715[ebp]
cmp ecx, DWORD PTR _amount$5702[ebp]
jge SHORT $L5717
; Line 1974
mov edx, DWORD PTR _new_amount$5715[ebp]
mov DWORD PTR _amount$5702[ebp], edx
$L5717:
; Line 1976
mov BYTE PTR _can_take$5701[ebp], 1
; Line 1978
cmp DWORD PTR _amount$5702[ebp], 1
jne SHORT $L5718
; Line 1980
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+16]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push 94 ; 0000005eH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea edx, DWORD PTR _message$5703[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 1981
jmp SHORT $L5719
$L5718:
; Line 1983
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+16]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov edx, DWORD PTR _amount$5702[ebp]
push edx
push 95 ; 0000005fH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea eax, DWORD PTR _message$5703[ebp]
push eax
call _sprintf
add esp, 16 ; 00000010H
$L5719:
$L5705:
; Line 1990
mov ecx, DWORD PTR _can_take$5701[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne SHORT $L5720
; Line 1991
jmp $L5694
$L5720:
; Line 1993
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
mov eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx+16]
push eax
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push OFFSET FLAT:$SG5721
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 1995
lea ecx, DWORD PTR _message$5703[ebp]
push ecx
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Player_AddHudMessage@@3P6AXHPAD@ZA ; Player_AddHudMessage
add esp, 8
; Line 1997
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR [ecx+28]
imul ecx, 12 ; 0000000cH
mov al, BYTE PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax]
mov BYTE PTR [edx+ecx+32], al
; Line 1998
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov eax, DWORD PTR [ecx+28]
imul eax, 12 ; 0000000cH
mov ecx, DWORD PTR _it$[ebp]
mov DWORD PTR [edx+eax+36], ecx
; Line 1999
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR [edx+28]
imul ecx, 12 ; 0000000cH
mov dl, BYTE PTR _amount$5702[ebp]
mov BYTE PTR [eax+ecx+40], dl
; Line 2000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+28]
add edx, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+28], edx
; Line 2002
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
cmp DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx+8], 0
jne $L5722
; Line 2004
mov DWORD PTR _amount$5702[ebp], 0
; Line 2005
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+4]
cmp eax, DWORD PTR [edx+24]
jle $L5723
; Line 2007
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 28 ; 0000001cH
mov edx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[ecx+20]
push edx
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov WORD PTR _wpn$5724[ebp], ax
; Line 2008
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+24]
push ecx
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _snd$5725[ebp], eax
; Line 2010
push 0
lea edx, DWORD PTR _snd$5725[ebp]
push edx
push 8
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2011
push 0
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 28 ; 0000001cH
add ecx, OFFSET FLAT:?SuperThiefableItems@@3PAUtSuperThiefItems@@A+12
push ecx
push 9
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2012
push 0
lea eax, DWORD PTR _wpn$5724[ebp]
push eax
push 4
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2014
mov edx, DWORD PTR _i$[ebp]
imul edx, 28 ; 0000001cH
mov eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx+20]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 332 ; 0000014cH
push edx
call _strcpy
add esp, 8
; Line 2015
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+20]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 432 ; 000001b0H
push eax
call _strcpy
add esp, 8
; Line 2016
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[ecx+12]
mov DWORD PTR [eax+532], ecx
$L5723:
; Line 2019
jmp SHORT $L5726
$L5722:
; Line 2021
mov edx, DWORD PTR _amount$5702[ebp]
imul edx, -1
mov DWORD PTR _amount$5702[ebp], edx
$L5726:
; Line 2024
mov eax, DWORD PTR _i$[ebp]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax]
push ecx
lea edx, DWORD PTR _amount$5702[ebp]
push edx
push 7
push 0
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 2026
mov ecx, DWORD PTR _attempted_steals$[ebp]
push ecx
call _free
add esp, 4
; Line 2027
mov al, 1
jmp SHORT $L5679
$L5697:
; Line 2031
push OFFSET FLAT:$SG5727
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 2032
mov edx, DWORD PTR _attempted_steals$[ebp]
push edx
call _free
add esp, 4
; Line 2033
xor al, al
$L5679:
; Line 2034
mov esp, ebp
pop ebp
ret 8
?DoSteal@SuperThief@@AAE_NHH@Z ENDP ; SuperThief::DoSteal
_TEXT ENDS
PUBLIC __real@4@4000c000000000000000
PUBLIC __real@4@4002f000000000000000
PUBLIC ?DoInit@SuperThief@@AAEXH@Z ; SuperThief::DoInit
_DATA SEGMENT
ORG $+2
$SG5740 DB 'STEmitter', 00H
ORG $+2
$SG5742 DB 'Laser Level 1 - Red', 00H
$SG5744 DB 'Laser level 1', 00H
_DATA ENDS
; COMDAT __real@4@4000c000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4000c000000000000000 DD 040400000r ; 3
CONST ENDS
; COMDAT __real@4@4002f000000000000000
CONST SEGMENT
__real@4@4002f000000000000000 DD 041700000r ; 15
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -948
_ch$ = -16
_m$ = -940
_wpn$ = -944
_snd$ = -20
?DoInit@SuperThief@@AAEXH@Z PROC NEAR ; SuperThief::DoInit
; File aigame.cpp
; Line 2037
push ebp
mov ebp, esp
sub esp, 960 ; 000003c0H
mov DWORD PTR _this$[ebp], ecx
; Line 2039
mov WORD PTR _ch$[ebp+8], 4
; Line 2040
mov DWORD PTR _ch$[ebp+12], 556 ; 0000022cH
; Line 2041
mov DWORD PTR _ch$[ebp], 0
; Line 2042
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 2044
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 2047
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 2048
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 2050
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -952+[ebp]
call _rand
mov DWORD PTR -956+[ebp], eax
fild DWORD PTR -956+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -952+[ebp]
fadd DWORD PTR __real@4@4000c000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+4]
; Line 2051
fld DWORD PTR _m$[ebp+52]
fdiv DWORD PTR __real@4@4002f000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 2052
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+12], 3
; Line 2053
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+13], 0
; Line 2055
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+28], 0
; Line 2056
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+24], -1
; Line 2058
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax], 0
; Line 2059
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+16], 0
; Line 2060
call _rand
mov DWORD PTR -960+[ebp], eax
fild DWORD PTR -960+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+20]
; Line 2062
push 1
push 1
push 0
push 2
push 2
push OFFSET FLAT:$SG5740
mov edx, DWORD PTR _me$[ebp]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+548], eax
; Line 2064
push OFFSET FLAT:$SG5742
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov WORD PTR _wpn$[ebp], ax
; Line 2065
push OFFSET FLAT:$SG5744
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _snd$[ebp], eax
; Line 2067
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+532], 1048576000 ; 3e800000H
; Line 2069
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+552], 0
; Line 2071
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+536], 0
; Line 2072
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+540], 0
; Line 2074
push 0
lea edx, DWORD PTR _snd$[ebp]
push edx
push 8
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2075
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 532 ; 00000214H
push edx
push 9
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2076
push 0
lea ecx, DWORD PTR _wpn$[ebp]
push ecx
push 4
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2077
mov esp, ebp
pop ebp
ret 4
?DoInit@SuperThief@@AAEXH@Z ENDP ; SuperThief::DoInit
_TEXT ENDS
PUBLIC ?FireFlare@SuperThief@@AAEXH@Z ; SuperThief::FireFlare
_DATA SEGMENT
ORG $+2
$SG5750 DB 'Yellow flare', 00H
ORG $+3
$SG5752 DB 'Flare', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -924
_mstruct$ = -920
?FireFlare@SuperThief@@AAEXH@Z PROC NEAR ; SuperThief::FireFlare
; Line 2080
push ebp
mov ebp, esp
sub esp, 924 ; 0000039cH
mov DWORD PTR _this$[ebp], ecx
; Line 2083
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$[ebp+44], eax
; Line 2084
push OFFSET FLAT:$SG5750
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _mstruct$[ebp+264], eax
; Line 2085
cmp DWORD PTR _mstruct$[ebp+264], -1
jne SHORT $L5751
; Line 2086
jmp SHORT $L5748
$L5751:
; Line 2087
mov BYTE PTR _mstruct$[ebp+231], 1
; Line 2089
push 1065353216 ; 3f800000H
push OFFSET FLAT:$SG5752
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 2091
lea edx, DWORD PTR _mstruct$[ebp]
push edx
push 73 ; 00000049H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L5748:
; Line 2092
mov esp, ebp
pop ebp
ret 4
?FireFlare@SuperThief@@AAEXH@Z ENDP ; SuperThief::FireFlare
_TEXT ENDS
PUBLIC ?CheckAndFireSecondary@SuperThief@@AAEXH@Z ; SuperThief::CheckAndFireSecondary
_TEXT SEGMENT
_me$ = 8
_this$ = -944
_i$ = -8
_wname$ = -20
_sname$ = -12
_best_select$ = -4
_best_index$ = -16
_mstruct$5768 = -940
?CheckAndFireSecondary@SuperThief@@AAEXH@Z PROC NEAR ; SuperThief::CheckAndFireSecondary
; Line 2095
push ebp
mov ebp, esp
sub esp, 944 ; 000003b0H
mov DWORD PTR _this$[ebp], ecx
; Line 2099
mov DWORD PTR _best_select$[ebp], -1
; Line 2102
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L5762
$L5763:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L5762:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR [edx+28]
jge $L5764
; Line 2104
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
imul eax, 12 ; 0000000cH
movsx ecx, BYTE PTR [edx+eax+40]
test ecx, ecx
jle $L5766
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
movsx edx, BYTE PTR [eax+ecx+32]
imul edx, 28 ; 0000001cH
cmp DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx+8], 1
jne $L5766
; Line 2106
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+32]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR _best_select$[ebp]
cmp ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+4]
jge SHORT $L5766
; Line 2108
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
movsx edx, BYTE PTR [eax+ecx+32]
imul edx, 28 ; 0000001cH
mov eax, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[edx+20]
mov DWORD PTR _wname$[ebp], eax
; Line 2109
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
imul eax, 12 ; 0000000cH
movsx ecx, BYTE PTR [edx+eax+32]
imul ecx, 28 ; 0000001cH
mov edx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[ecx+24]
mov DWORD PTR _sname$[ebp], edx
; Line 2110
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+32]
imul eax, 28 ; 0000001cH
mov ecx, DWORD PTR ?SuperThiefableItems@@3PAUtSuperThiefItems@@A[eax+4]
mov DWORD PTR _best_select$[ebp], ecx
; Line 2111
mov edx, DWORD PTR _i$[ebp]
mov DWORD PTR _best_index$[ebp], edx
$L5766:
; Line 2114
jmp $L5763
$L5764:
; Line 2116
cmp DWORD PTR _best_select$[ebp], 0
jl $L5767
; Line 2118
mov eax, DWORD PTR _best_index$[ebp]
imul eax, 12 ; 0000000cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx+eax+40]
sub al, 1
mov ecx, DWORD PTR _best_index$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [edx+4]
mov BYTE PTR [edx+ecx+40], al
; Line 2122
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$5768[ebp+44], eax
; Line 2123
mov ecx, DWORD PTR _wname$[ebp]
push ecx
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _mstruct$5768[ebp+264], eax
; Line 2124
cmp DWORD PTR _mstruct$5768[ebp+264], -1
jne SHORT $L5769
; Line 2125
jmp SHORT $L5756
$L5769:
; Line 2126
mov BYTE PTR _mstruct$5768[ebp+231], 1
; Line 2128
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _sname$[ebp]
push edx
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 2130
lea ecx, DWORD PTR _mstruct$5768[ebp]
push ecx
push 73 ; 00000049H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L5767:
$L5756:
; Line 2132
mov esp, ebp
pop ebp
ret 4
?CheckAndFireSecondary@SuperThief@@AAEXH@Z ENDP ; SuperThief::CheckAndFireSecondary
_TEXT ENDS
PUBLIC __real@4@4001c000000000000000
PUBLIC __real@4@4001c666660000000000
PUBLIC __real@4@4006ea00000000000000
PUBLIC __real@4@4001e000000000000000
PUBLIC __real@4@4002a000000000000000
PUBLIC __real@4@3ffec000000000000000
PUBLIC ?DoInterval@SuperThief@@AAEXH@Z ; SuperThief::DoInterval
_DATA SEGMENT
ORG $+2
$SG5791 DB 'ST: Dying', 0aH, 00H
ORG $+1
$SG5797 DB 'TubbsHitBlast', 00H
ORG $+2
$SG5800 DB 'ST: Died', 0aH, 00H
ORG $+2
$SG5807 DB 'Invisiblepowerup', 00H
ORG $+3
$SG5810 DB 'Stlaser', 00H
_DATA ENDS
; COMDAT __real@4@4001c000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4001c000000000000000 DD 040c00000r ; 6
CONST ENDS
; COMDAT __real@4@4001c666660000000000
CONST SEGMENT
__real@4@4001c666660000000000 DD 040c66666r ; 6.2
CONST ENDS
; COMDAT __real@4@4006ea00000000000000
CONST SEGMENT
__real@4@4006ea00000000000000 DD 0436a0000r ; 234
CONST ENDS
; COMDAT __real@4@4001e000000000000000
CONST SEGMENT
__real@4@4001e000000000000000 DD 040e00000r ; 7
CONST ENDS
; COMDAT __real@4@4002a000000000000000
CONST SEGMENT
__real@4@4002a000000000000000 DD 041200000r ; 10
CONST ENDS
; COMDAT __real@4@3ffec000000000000000
CONST SEGMENT
__real@4@3ffec000000000000000 DD 03f400000r ; 0.75
CONST ENDS
_TEXT SEGMENT
$T10693 = -2024
$T10694 = -2036
$T10695 = -2048
$T10696 = -2060
_me$ = 8
_this$ = -2064
_f_force_ranged$ = -20
_anim_frame$ = -12
_shields$ = -8
_flags$ = -4
_room$ = -24
_pos$ = -956
_ray$5783 = -1072
_orient$5784 = -1012
_end_pos$5785 = -968
_fvi_flags$5788 = -972
_fate$5789 = -976
_weapon_id$5796 = -1076
_flags$5804 = -1080
_awareness$5805 = -1084
_mstruct$5808 = -2008
_last_see_time$5815 = -2012
?DoInterval@SuperThief@@AAEXH@Z PROC NEAR ; SuperThief::DoInterval
; File aigame.cpp
; Line 2135
push ebp
mov ebp, esp
sub esp, 2100 ; 00000834H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 2136
mov BYTE PTR _f_force_ranged$[ebp], 0
; Line 2145
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2146
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2147
push 0
lea ecx, DWORD PTR _anim_frame$[ebp]
push ecx
push 18 ; 00000012H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2148
push 0
lea eax, DWORD PTR _shields$[ebp]
push eax
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2149
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 10 ; 0000000aH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2151
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx+552]
test eax, eax
je $L5782
; Line 2156
push 0
lea ecx, DWORD PTR _orient$5784[ebp]
push ecx
push 4
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2159
mov eax, DWORD PTR _pos$[ebp]
mov DWORD PTR _end_pos$5785[ebp], eax
mov ecx, DWORD PTR _pos$[ebp+4]
mov DWORD PTR _end_pos$5785[ebp+4], ecx
mov edx, DWORD PTR _pos$[ebp+8]
mov DWORD PTR _end_pos$5785[ebp+8], edx
; Line 2160
push 1157234688 ; 44fa0000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$5784[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$5784[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$5784[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T10695[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T10694[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T10694[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T10694[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T10694[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T10694[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T10694[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _end_pos$5785[ebp]
push eax
lea ecx, DWORD PTR $T10696[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T10693[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T10693[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T10693[ebp+8], edx
; Line 2162
mov DWORD PTR _fvi_flags$5788[ebp], 1048585 ; 00100009H
; Line 2163
lea eax, DWORD PTR _ray$5783[ebp]
push eax
mov ecx, DWORD PTR _fvi_flags$5788[ebp]
push ecx
push 0
mov edx, DWORD PTR _room$[ebp]
push edx
lea eax, DWORD PTR _end_pos$5785[ebp]
push eax
lea ecx, DWORD PTR _pos$[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$5789[ebp], eax
; Line 2165
push 0
lea eax, DWORD PTR _ray$5783[ebp+4]
push eax
push 5
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+544]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2166
push 0
lea ecx, DWORD PTR _ray$5783[ebp+8]
push ecx
push 3
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+544]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L5782:
; Line 2169
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR [eax+8]
fnstsw ax
test ah, 1
je SHORT $L10697
mov DWORD PTR -2068+[ebp], 1
jmp SHORT $L10698
$L10697:
mov DWORD PTR -2068+[ebp], 0
$L10698:
xor ecx, ecx
cmp DWORD PTR -2068+[ebp], 0
setne cl
mov BYTE PTR _f_force_ranged$[ebp], cl
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _f_force_ranged$[ebp]
mov BYTE PTR [eax+13], cl
; Line 2171
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+12]
cmp ecx, 2
je SHORT $L5790
mov edx, DWORD PTR _flags$[ebp]
and edx, 8388608 ; 00800000H
test edx, edx
je SHORT $L5790
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
jne SHORT $L5790
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L5790
; Line 2173
push OFFSET FLAT:$SG5791
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 2174
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SuperThief@@AAEXHD@Z ; SuperThief::SetMode
$L5790:
; Line 2177
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+12]
cmp eax, 2
jne $L5792
; Line 2180
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 1
je SHORT $L5795
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 1
je SHORT $L5794
$L5795:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
je SHORT $L5793
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
jne SHORT $L5793
$L5794:
; Line 2184
push OFFSET FLAT:$SG5797
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$5796[ebp], eax
; Line 2185
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
mov eax, DWORD PTR _room$[ebp]
push eax
mov cx, WORD PTR _weapon_id$5796[ebp]
push ecx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
$L5793:
; Line 2188
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
je SHORT $L5798
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
jne SHORT $L5798
; Line 2190
push 1065353216 ; 3f800000H
push 1232348160 ; 49742400H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L5798:
; Line 2193
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx]
fcomp DWORD PTR __real@4@4001c666660000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L5799
; Line 2195
push OFFSET FLAT:$SG5800
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 2196
push 0
push 0
push 68320 ; 00010ae0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L5799:
; Line 2199
jmp $L5834
$L5792:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+12]
cmp edx, 4
jne $L5802
; Line 2201
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
je SHORT $L5803
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
jne SHORT $L5803
; Line 2203
mov DWORD PTR _flags$5804[ebp], 536871936 ; 20000400H
; Line 2204
lea eax, DWORD PTR _flags$5804[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 2206
mov DWORD PTR _awareness$5805[ebp], 1120403456 ; 42c80000H
; Line 2207
lea edx, DWORD PTR _awareness$5805[ebp]
push edx
push 50 ; 00000032H
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L5803:
; Line 2211
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+16]
fcomp DWORD PTR __real@4@4006ea00000000000000
fnstsw ax
test ah, 1
je $L5806
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4006ea00000000000000
fnstsw ax
test ah, 1
jne $L5806
; Line 2213
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+552], 1
; Line 2214
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
push 0
lea eax, DWORD PTR _pos$[ebp]
push eax
mov ecx, DWORD PTR _room$[ebp]
push ecx
push OFFSET FLAT:$SG5807
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
push eax
push 7
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+544], eax
; Line 2219
push 0
lea edx, DWORD PTR _mstruct$5808[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2220
push 0
lea ecx, DWORD PTR _mstruct$5808[ebp+176]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2221
push 0
lea eax, DWORD PTR _mstruct$5808[ebp+652]
push eax
push 3
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+544]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2223
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+548]
mov DWORD PTR _mstruct$5808[ebp+44], eax
; Line 2224
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+544]
mov DWORD PTR _mstruct$5808[ebp+48], eax
; Line 2225
mov DWORD PTR _mstruct$5808[ebp+576], 1259902592 ; 4b189680H
; Line 2226
mov DWORD PTR _mstruct$5808[ebp+580], 1065353216 ; 3f800000H
; Line 2228
mov DWORD PTR _mstruct$5808[ebp+272], 1065353216 ; 3f800000H
; Line 2229
mov DWORD PTR _mstruct$5808[ebp+588], 2
; Line 2230
mov DWORD PTR _mstruct$5808[ebp+264], 1
; Line 2231
push OFFSET FLAT:$SG5810
call DWORD PTR ?Scrpt_FindTextureName@@3P6AHPAD@ZA ; Scrpt_FindTextureName
add esp, 4
mov WORD PTR _mstruct$5808[ebp+6], ax
; Line 2232
mov DWORD PTR _mstruct$5808[ebp+568], 16912 ; 00004210H
; Line 2234
mov BYTE PTR _mstruct$5808[ebp+276], 0
; Line 2235
mov DWORD PTR _mstruct$5808[ebp+592], 0
; Line 2237
lea ecx, DWORD PTR _mstruct$5808[ebp]
push ecx
push 103 ; 00000067H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L5806:
; Line 2240
jmp $L5834
$L5802:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+12]
cmp ecx, 3
jne SHORT $L5812
; Line 2243
jmp $L5834
$L5812:
; Line 2247
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+12]
test ecx, ecx
jne $L5820
; Line 2249
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fsubr DWORD PTR [esi+20]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+20]
; Line 2251
lea edx, DWORD PTR _last_see_time$5815[ebp]
push edx
push 25 ; 00000019H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 2253
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+536]
fnstsw ax
test ah, 65 ; 00000041H
jne $L5819
fld DWORD PTR _last_see_time$5815[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fstp DWORD PTR -2072+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -2072+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
je $L5819
; Line 2255
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?FireFlare@SuperThief@@AAEXH@Z ; SuperThief::FireFlare
; Line 2256
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+540]
add edx, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+540], edx
; Line 2258
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+540], 3
jl SHORT $L5817
; Line 2260
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+540], 0
; Line 2261
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -2076+[ebp]
call _rand
mov DWORD PTR -2080+[ebp], eax
fild DWORD PTR -2080+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR -2076+[ebp]
fadd DWORD PTR __real@4@4001a000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+536]
; Line 2263
jmp SHORT $L5819
$L5817:
; Line 2265
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3ffec000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+536]
$L5819:
; Line 2269
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+20]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L5820
; Line 2271
call _rand
mov DWORD PTR -2084+[ebp], eax
fild DWORD PTR -2084+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+20]
; Line 2272
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?CheckAndFireSecondary@SuperThief@@AAEXH@Z ; SuperThief::CheckAndFireSecondary
$L5820:
; Line 2277
mov eax, DWORD PTR _f_force_ranged$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne $L5823
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+4]
fnstsw ax
test ah, 65 ; 00000041H
jne $L5823
; Line 2279
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+12]
cmp ecx, 1
jne SHORT $L5824
; Line 2281
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 2282
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+12], 0
; Line 2284
jmp SHORT $L5826
$L5824:
call _rand
cdq
mov ecx, 150 ; 00000096H
idiv ecx
cmp edx, 20 ; 00000014H
jle SHORT $L5826
; Line 2286
push 6
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 2287
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+12], 1
$L5826:
; Line 2290
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+12]
test ecx, ecx
jne SHORT $L5827
; Line 2291
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -2088+[ebp]
call _rand
mov DWORD PTR -2092+[ebp], eax
fild DWORD PTR -2092+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -2088+[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+4]
; Line 2292
jmp SHORT $L5830
$L5827:
; Line 2293
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -2096+[ebp]
call _rand
mov DWORD PTR -2100+[ebp], eax
fild DWORD PTR -2100+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -2096+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
$L5830:
; Line 2295
jmp SHORT $L5834
$L5823:
mov eax, DWORD PTR _f_force_ranged$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L5834
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+12]
test eax, eax
je SHORT $L5834
; Line 2298
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 2299
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+12], 0
$L5834:
; Line 2303
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _anim_frame$[ebp]
mov DWORD PTR [edx+16], eax
; Line 2304
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax]
; Line 2305
pop esi
mov esp, ebp
pop ebp
ret 4
?DoInterval@SuperThief@@AAEXH@Z ENDP ; SuperThief::DoInterval
_TEXT ENDS
PUBLIC ?CallEvent@SuperThief@@UAEFHPAUtOSIRISEventInfo@@@Z ; SuperThief::CallEvent
_TEXT SEGMENT
_event$ = 8
_data$ = 12
_this$ = -932
_mo$5848 = -920
_wpn$5851 = -928
_snd$5852 = -924
?CallEvent@SuperThief@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SuperThief::CallEvent
; Line 2308
push ebp
mov ebp, esp
sub esp, 936 ; 000003a8H
mov DWORD PTR _this$[ebp], ecx
; Line 2310
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -936+[ebp], eax
mov ecx, DWORD PTR -936+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -936+[ebp], ecx
cmp DWORD PTR -936+[ebp], 24 ; 00000018H
ja $L5841
mov eax, DWORD PTR -936+[ebp]
xor edx, edx
mov dl, BYTE PTR $L10712[eax]
jmp DWORD PTR $L10713[edx*4]
$L5844:
; Line 2312
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@SuperThief@@AAEXH@Z ; SuperThief::DoInit
; Line 2313
jmp $L5841
$L5845:
; Line 2315
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInterval@SuperThief@@AAEXH@Z ; SuperThief::DoInterval
; Line 2316
jmp $L5841
$L5846:
; Line 2318
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@SuperThief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; SuperThief::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp $L5839
$L5847:
; Line 2322
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SpewEverything@SuperThief@@AAEXH@Z ; SuperThief::SpewEverything
; Line 2324
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+548]
mov DWORD PTR _mo$5848[ebp+44], eax
; Line 2325
lea ecx, DWORD PTR _mo$5848[ebp]
push ecx
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 2326
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+544]
mov DWORD PTR _mo$5848[ebp+44], ecx
; Line 2327
lea edx, DWORD PTR _mo$5848[ebp]
push edx
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 2329
jmp $L5841
$L5849:
; Line 2332
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
; Line 2334
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 332 ; 0000014cH
push ecx
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov WORD PTR _wpn$5851[ebp], ax
; Line 2335
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 432 ; 000001b0H
push eax
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _snd$5852[ebp], eax
; Line 2337
push 0
lea ecx, DWORD PTR _snd$5852[ebp]
push ecx
push 8
push 0
push 1
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2338
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 532 ; 00000214H
push edx
push 9
push 0
push 1
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 2339
push 0
lea edx, DWORD PTR _wpn$5851[ebp]
push edx
push 4
push 0
push 1
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
$L5841:
; Line 2344
mov ax, 257 ; 00000101H
$L5839:
; Line 2345
mov esp, ebp
pop ebp
ret 8
$L10713:
DD $L5845
DD $L5847
DD $L5846
DD $L5844
DD $L5849
DD $L5841
$L10712:
DB 0
DB 5
DB 5
DB 5
DB 1
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 2
DB 3
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 4
?CallEvent@SuperThief@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; SuperThief::CallEvent
_TEXT ENDS
PUBLIC _SaveRestoreState@8
_TEXT SEGMENT
_SaveRestoreState@8 PROC NEAR
; Line 2499
push ebp
mov ebp, esp
; Line 2500
xor eax, eax
; Line 2501
pop ebp
ret 8
_SaveRestoreState@8 ENDP
_TEXT ENDS
PUBLIC _InitializeDLL@4
_DATA SEGMENT
$SG6047 DB 'Game-Checksum FAIL!!! (%ul!=%ul)', 0aH, 00H
ORG $+2
$SG6048 DB 'RECOMPILE YOUR SCRIPTS!!!', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_func_list$ = 8
_InitializeDLL@4 PROC NEAR
; Line 2504
push ebp
mov ebp, esp
; Line 2505
mov eax, DWORD PTR _func_list$[ebp]
push eax
call ?osicommon_Initialize@@YAXPAUtOSIRISModuleInit@@@Z ; osicommon_Initialize
add esp, 4
; Line 2506
mov ecx, DWORD PTR _func_list$[ebp]
cmp DWORD PTR [ecx+1044], -2021094021 ; 87888d7bH
je SHORT $L6046
; Line 2508
push -2021094021 ; 87888d7bH
mov edx, DWORD PTR _func_list$[ebp]
mov eax, DWORD PTR [edx+1044]
push eax
push OFFSET FLAT:$SG6047
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 16 ; 00000010H
; Line 2509
push OFFSET FLAT:$SG6048
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 2510
xor al, al
jmp SHORT $L6044
$L6046:
; Line 2512
mov ecx, DWORD PTR _func_list$[ebp]
mov edx, DWORD PTR [ecx+1032]
mov DWORD PTR ?aigame_mod_id@@3HA, edx ; aigame_mod_id
; Line 2513
mov eax, DWORD PTR _func_list$[ebp]
mov ecx, DWORD PTR [eax+1028]
mov DWORD PTR ?String_table_size@@3HA, ecx ; String_table_size
; Line 2514
mov edx, DWORD PTR _func_list$[ebp]
mov eax, DWORD PTR [edx+1024]
mov DWORD PTR ?String_table@@3PAPADA, eax ; String_table
; Line 2516
mov al, 1
$L6044:
; Line 2517
pop ebp
ret 4
_InitializeDLL@4 ENDP
_TEXT ENDS
PUBLIC _ShutdownDLL@0
_TEXT SEGMENT
_ShutdownDLL@0 PROC NEAR
; Line 2520
push ebp
mov ebp, esp
; Line 2521
pop ebp
ret 0
_ShutdownDLL@0 ENDP
_TEXT ENDS
PUBLIC _GetGOScriptID@8
EXTRN _stricmp:NEAR
_TEXT SEGMENT
_name$ = 8
_i$ = -4
_GetGOScriptID@8 PROC NEAR
; Line 2524
push ebp
mov ebp, esp
push ecx
; Line 2525
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L6057
$L6058:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L6057:
cmp DWORD PTR _i$[ebp], 42 ; 0000002aH
jge SHORT $L6059
; Line 2527
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR ?ScriptInfo@@3PAUtScriptInfo@@A[ecx*8+4]
push edx
mov eax, DWORD PTR _name$[ebp]
push eax
call _stricmp
add esp, 8
test eax, eax
jne SHORT $L6060
; Line 2529
mov ecx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR ?ScriptInfo@@3PAUtScriptInfo@@A[ecx*8]
jmp SHORT $L6055
$L6060:
; Line 2531
jmp SHORT $L6058
$L6059:
; Line 2532
or eax, -1
$L6055:
; Line 2533
mov esp, ebp
pop ebp
ret 8
_GetGOScriptID@8 ENDP
_TEXT ENDS
PUBLIC ??0ChaffScript@@QAE@XZ ; ChaffScript::ChaffScript
PUBLIC ??0ChaffChunkScript@@QAE@XZ ; ChaffChunkScript::ChaffChunkScript
PUBLIC ??0Humonculous@@QAE@XZ ; Humonculous::Humonculous
PUBLIC ??0ProxMine@@QAE@XZ ; ProxMine::ProxMine
PUBLIC ??0Dragon@@QAE@XZ ; Dragon::Dragon
PUBLIC ??0Gunboy@@QAE@XZ ; Gunboy::Gunboy
PUBLIC ??0Tracker@@QAE@XZ ; Tracker::Tracker
PUBLIC ??0GBPowerup@@QAE@XZ ; GBPowerup::GBPowerup
PUBLIC ??0Lance@@QAE@XZ ; Lance::Lance
PUBLIC ??0JoshBell@@QAE@XZ ; JoshBell::JoshBell
PUBLIC ??0Flak@@QAE@XZ ; Flak::Flak
PUBLIC ??0ExplodeOnContact@@QAE@XZ ; ExplodeOnContact::ExplodeOnContact
PUBLIC ??0DestroyOnContact@@QAE@XZ ; DestroyOnContact::DestroyOnContact
PUBLIC ??0Seeker@@QAE@XZ ; Seeker::Seeker
PUBLIC ??0SuperTrooper@@QAE@XZ ; SuperTrooper::SuperTrooper
PUBLIC ??0Sparky@@QAE@XZ ; Sparky::Sparky
PUBLIC ??0GuideBot@@QAE@XZ ; GuideBot::GuideBot
PUBLIC ??0Hellion@@QAE@XZ ; Hellion::Hellion
PUBLIC ??0MantaRay@@QAE@XZ ; MantaRay::MantaRay
PUBLIC ??0Thief@@QAE@XZ ; Thief::Thief
PUBLIC ??0Skiff@@QAE@XZ ; Skiff::Skiff
PUBLIC ??0SpyHunter@@QAE@XZ ; SpyHunter::SpyHunter
PUBLIC ??0Sniper@@QAE@XZ ; Sniper::Sniper
PUBLIC ??0SniperNoRun@@QAE@XZ ; SniperNoRun::SniperNoRun
PUBLIC ??0EvaderModA@@QAE@XZ ; EvaderModA::EvaderModA
PUBLIC ??0Jugg@@QAE@XZ ; Jugg::Jugg
PUBLIC ??0DTower@@QAE@XZ ; DTower::DTower
PUBLIC _CreateInstance@4
PUBLIC ??0FireAtDist@@QAE@XZ ; FireAtDist::FireAtDist
PUBLIC ??0DCollector@@QAE@XZ ; DCollector::DCollector
PUBLIC ??0HatePTMC@@QAE@XZ ; HatePTMC::HatePTMC
PUBLIC ??0CBall@@QAE@XZ ; CBall::CBall
PUBLIC ??0Tubbs@@QAE@XZ ; Tubbs::Tubbs
PUBLIC ??0SixGun@@QAE@XZ ; SixGun::SixGun
PUBLIC ??0ExplodeTimeOut@@QAE@XZ ; ExplodeTimeOut::ExplodeTimeOut
PUBLIC ??0Pest@@QAE@XZ ; Pest::Pest
PUBLIC ??0BarnSwallow@@QAE@XZ ; BarnSwallow::BarnSwallow
PUBLIC ??0Stinger@@QAE@XZ ; Stinger::Stinger
PUBLIC ??0Sickle@@QAE@XZ ; Sickle::Sickle
PUBLIC ??0BettyBomb@@QAE@XZ ; BettyBomb::BettyBomb
PUBLIC ??0BettyScript@@QAE@XZ ; BettyScript::BettyScript
PUBLIC ??0SuperThief@@QAE@XZ ; SuperThief::SuperThief
EXTRN ??2@YAPAXI@Z:NEAR ; operator new
_DATA SEGMENT
ORG $+1
$SG6192 DB 'SCRIPT: Illegal ID (%d)', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
$T10719 = -4
$T10722 = -8
$T10725 = -12
$T10728 = -16
$T10731 = -20
$T10734 = -24
$T10737 = -28
$T10740 = -32
$T10743 = -36
$T10746 = -40
$T10749 = -44
$T10752 = -48
$T10755 = -52
$T10758 = -56
$T10761 = -60
$T10764 = -64
$T10767 = -68
$T10770 = -72
$T10773 = -76
$T10776 = -80
$T10779 = -84
$T10782 = -88
$T10785 = -92
$T10788 = -96
$T10791 = -100
$T10794 = -104
$T10797 = -108
$T10800 = -112
$T10803 = -116
$T10806 = -120
$T10809 = -124
$T10812 = -128
$T10815 = -132
$T10818 = -136
$T10821 = -140
$T10824 = -144
$T10827 = -148
$T10830 = -152
$T10833 = -156
$T10836 = -160
$T10839 = -164
_id$ = 8
_CreateInstance@4 PROC NEAR
; Line 2536
push ebp
mov ebp, esp
sub esp, 332 ; 0000014cH
; Line 2538
mov eax, DWORD PTR _id$[ebp]
mov DWORD PTR -168+[ebp], eax
cmp DWORD PTR -168+[ebp], 41 ; 00000029H
ja $L6191
mov ecx, DWORD PTR -168+[ebp]
jmp DWORD PTR $L10842[ecx*4]
$L6068:
; Line 2540
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10719[ebp], eax
cmp DWORD PTR $T10719[ebp], 0
je SHORT $L10720
mov ecx, DWORD PTR $T10719[ebp]
call ??0Pest@@QAE@XZ ; Pest::Pest
mov DWORD PTR -172+[ebp], eax
jmp SHORT $L10721
$L10720:
mov DWORD PTR -172+[ebp], 0
$L10721:
mov eax, DWORD PTR -172+[ebp]
jmp $L6063
$L6071:
; Line 2543
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10722[ebp], eax
cmp DWORD PTR $T10722[ebp], 0
je SHORT $L10723
mov ecx, DWORD PTR $T10722[ebp]
call ??0Stinger@@QAE@XZ ; Stinger::Stinger
mov DWORD PTR -176+[ebp], eax
jmp SHORT $L10724
$L10723:
mov DWORD PTR -176+[ebp], 0
$L10724:
mov eax, DWORD PTR -176+[ebp]
jmp $L6063
$L6074:
; Line 2546
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10725[ebp], eax
cmp DWORD PTR $T10725[ebp], 0
je SHORT $L10726
mov ecx, DWORD PTR $T10725[ebp]
call ??0Dragon@@QAE@XZ ; Dragon::Dragon
mov DWORD PTR -180+[ebp], eax
jmp SHORT $L10727
$L10726:
mov DWORD PTR -180+[ebp], 0
$L10727:
mov eax, DWORD PTR -180+[ebp]
jmp $L6063
$L6077:
; Line 2549
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10728[ebp], eax
cmp DWORD PTR $T10728[ebp], 0
je SHORT $L10729
mov ecx, DWORD PTR $T10728[ebp]
call ??0Tracker@@QAE@XZ ; Tracker::Tracker
mov DWORD PTR -184+[ebp], eax
jmp SHORT $L10730
$L10729:
mov DWORD PTR -184+[ebp], 0
$L10730:
mov eax, DWORD PTR -184+[ebp]
jmp $L6063
$L6080:
; Line 2552
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10731[ebp], eax
cmp DWORD PTR $T10731[ebp], 0
je SHORT $L10732
mov ecx, DWORD PTR $T10731[ebp]
call ??0Lance@@QAE@XZ ; Lance::Lance
mov DWORD PTR -188+[ebp], eax
jmp SHORT $L10733
$L10732:
mov DWORD PTR -188+[ebp], 0
$L10733:
mov eax, DWORD PTR -188+[ebp]
jmp $L6063
$L6083:
; Line 2555
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10734[ebp], eax
cmp DWORD PTR $T10734[ebp], 0
je SHORT $L10735
mov ecx, DWORD PTR $T10734[ebp]
call ??0Flak@@QAE@XZ ; Flak::Flak
mov DWORD PTR -192+[ebp], eax
jmp SHORT $L10736
$L10735:
mov DWORD PTR -192+[ebp], 0
$L10736:
mov eax, DWORD PTR -192+[ebp]
jmp $L6063
$L6086:
; Line 2559
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10737[ebp], eax
cmp DWORD PTR $T10737[ebp], 0
je SHORT $L10738
mov ecx, DWORD PTR $T10737[ebp]
call ??0SuperTrooper@@QAE@XZ ; SuperTrooper::SuperTrooper
mov DWORD PTR -196+[ebp], eax
jmp SHORT $L10739
$L10738:
mov DWORD PTR -196+[ebp], 0
$L10739:
mov eax, DWORD PTR -196+[ebp]
jmp $L6063
$L6089:
; Line 2562
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10740[ebp], eax
cmp DWORD PTR $T10740[ebp], 0
je SHORT $L10741
mov ecx, DWORD PTR $T10740[ebp]
call ??0Jugg@@QAE@XZ ; Jugg::Jugg
mov DWORD PTR -200+[ebp], eax
jmp SHORT $L10742
$L10741:
mov DWORD PTR -200+[ebp], 0
$L10742:
mov eax, DWORD PTR -200+[ebp]
jmp $L6063
$L6092:
; Line 2565
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10743[ebp], eax
cmp DWORD PTR $T10743[ebp], 0
je SHORT $L10744
mov ecx, DWORD PTR $T10743[ebp]
call ??0SixGun@@QAE@XZ ; SixGun::SixGun
mov DWORD PTR -204+[ebp], eax
jmp SHORT $L10745
$L10744:
mov DWORD PTR -204+[ebp], 0
$L10745:
mov eax, DWORD PTR -204+[ebp]
jmp $L6063
$L6095:
; Line 2568
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10746[ebp], eax
cmp DWORD PTR $T10746[ebp], 0
je SHORT $L10747
mov ecx, DWORD PTR $T10746[ebp]
call ??0Sickle@@QAE@XZ ; Sickle::Sickle
mov DWORD PTR -208+[ebp], eax
jmp SHORT $L10748
$L10747:
mov DWORD PTR -208+[ebp], 0
$L10748:
mov eax, DWORD PTR -208+[ebp]
jmp $L6063
$L6098:
; Line 2571
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10749[ebp], eax
cmp DWORD PTR $T10749[ebp], 0
je SHORT $L10750
mov ecx, DWORD PTR $T10749[ebp]
call ??0GuideBot@@QAE@XZ ; GuideBot::GuideBot
mov DWORD PTR -212+[ebp], eax
jmp SHORT $L10751
$L10750:
mov DWORD PTR -212+[ebp], 0
$L10751:
mov eax, DWORD PTR -212+[ebp]
jmp $L6063
$L6101:
; Line 2574
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10752[ebp], eax
cmp DWORD PTR $T10752[ebp], 0
je SHORT $L10753
mov ecx, DWORD PTR $T10752[ebp]
call ??0FireAtDist@@QAE@XZ ; FireAtDist::FireAtDist
mov DWORD PTR -216+[ebp], eax
jmp SHORT $L10754
$L10753:
mov DWORD PTR -216+[ebp], 0
$L10754:
mov eax, DWORD PTR -216+[ebp]
jmp $L6063
$L6104:
; Line 2577
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10755[ebp], eax
cmp DWORD PTR $T10755[ebp], 0
je SHORT $L10756
mov ecx, DWORD PTR $T10755[ebp]
call ??0Tubbs@@QAE@XZ ; Tubbs::Tubbs
mov DWORD PTR -220+[ebp], eax
jmp SHORT $L10757
$L10756:
mov DWORD PTR -220+[ebp], 0
$L10757:
mov eax, DWORD PTR -220+[ebp]
jmp $L6063
$L6107:
; Line 2580
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10758[ebp], eax
cmp DWORD PTR $T10758[ebp], 0
je SHORT $L10759
mov ecx, DWORD PTR $T10758[ebp]
call ??0Thief@@QAE@XZ ; Thief::Thief
mov DWORD PTR -224+[ebp], eax
jmp SHORT $L10760
$L10759:
mov DWORD PTR -224+[ebp], 0
$L10760:
mov eax, DWORD PTR -224+[ebp]
jmp $L6063
$L6110:
; Line 2583
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10761[ebp], eax
cmp DWORD PTR $T10761[ebp], 0
je SHORT $L10762
mov ecx, DWORD PTR $T10761[ebp]
call ??0GBPowerup@@QAE@XZ ; GBPowerup::GBPowerup
mov DWORD PTR -228+[ebp], eax
jmp SHORT $L10763
$L10762:
mov DWORD PTR -228+[ebp], 0
$L10763:
mov eax, DWORD PTR -228+[ebp]
jmp $L6063
$L6113:
; Line 2586
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10764[ebp], eax
cmp DWORD PTR $T10764[ebp], 0
je SHORT $L10765
mov ecx, DWORD PTR $T10764[ebp]
call ??0BarnSwallow@@QAE@XZ ; BarnSwallow::BarnSwallow
mov DWORD PTR -232+[ebp], eax
jmp SHORT $L10766
$L10765:
mov DWORD PTR -232+[ebp], 0
$L10766:
mov eax, DWORD PTR -232+[ebp]
jmp $L6063
$L6116:
; Line 2589
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10767[ebp], eax
cmp DWORD PTR $T10767[ebp], 0
je SHORT $L10768
mov ecx, DWORD PTR $T10767[ebp]
call ??0Sparky@@QAE@XZ ; Sparky::Sparky
mov DWORD PTR -236+[ebp], eax
jmp SHORT $L10769
$L10768:
mov DWORD PTR -236+[ebp], 0
$L10769:
mov eax, DWORD PTR -236+[ebp]
jmp $L6063
$L6119:
; Line 2592
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10770[ebp], eax
cmp DWORD PTR $T10770[ebp], 0
je SHORT $L10771
mov ecx, DWORD PTR $T10770[ebp]
call ??0MantaRay@@QAE@XZ ; MantaRay::MantaRay
mov DWORD PTR -240+[ebp], eax
jmp SHORT $L10772
$L10771:
mov DWORD PTR -240+[ebp], 0
$L10772:
mov eax, DWORD PTR -240+[ebp]
jmp $L6063
$L6122:
; Line 2595
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10773[ebp], eax
cmp DWORD PTR $T10773[ebp], 0
je SHORT $L10774
mov ecx, DWORD PTR $T10773[ebp]
call ??0SpyHunter@@QAE@XZ ; SpyHunter::SpyHunter
mov DWORD PTR -244+[ebp], eax
jmp SHORT $L10775
$L10774:
mov DWORD PTR -244+[ebp], 0
$L10775:
mov eax, DWORD PTR -244+[ebp]
jmp $L6063
$L6125:
; Line 2598
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10776[ebp], eax
cmp DWORD PTR $T10776[ebp], 0
je SHORT $L10777
mov ecx, DWORD PTR $T10776[ebp]
call ??0Sniper@@QAE@XZ ; Sniper::Sniper
mov DWORD PTR -248+[ebp], eax
jmp SHORT $L10778
$L10777:
mov DWORD PTR -248+[ebp], 0
$L10778:
mov eax, DWORD PTR -248+[ebp]
jmp $L6063
$L6128:
; Line 2601
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10779[ebp], eax
cmp DWORD PTR $T10779[ebp], 0
je SHORT $L10780
mov ecx, DWORD PTR $T10779[ebp]
call ??0Humonculous@@QAE@XZ ; Humonculous::Humonculous
mov DWORD PTR -252+[ebp], eax
jmp SHORT $L10781
$L10780:
mov DWORD PTR -252+[ebp], 0
$L10781:
mov eax, DWORD PTR -252+[ebp]
jmp $L6063
$L6131:
; Line 2604
push 4
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10782[ebp], eax
cmp DWORD PTR $T10782[ebp], 0
je SHORT $L10783
mov ecx, DWORD PTR $T10782[ebp]
call ??0Seeker@@QAE@XZ ; Seeker::Seeker
mov DWORD PTR -256+[ebp], eax
jmp SHORT $L10784
$L10783:
mov DWORD PTR -256+[ebp], 0
$L10784:
mov eax, DWORD PTR -256+[ebp]
jmp $L6063
$L6134:
; Line 2607
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10785[ebp], eax
cmp DWORD PTR $T10785[ebp], 0
je SHORT $L10786
mov ecx, DWORD PTR $T10785[ebp]
call ??0BettyScript@@QAE@XZ ; BettyScript::BettyScript
mov DWORD PTR -260+[ebp], eax
jmp SHORT $L10787
$L10786:
mov DWORD PTR -260+[ebp], 0
$L10787:
mov eax, DWORD PTR -260+[ebp]
jmp $L6063
$L6137:
; Line 2610
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10788[ebp], eax
cmp DWORD PTR $T10788[ebp], 0
je SHORT $L10789
mov ecx, DWORD PTR $T10788[ebp]
call ??0ChaffScript@@QAE@XZ ; ChaffScript::ChaffScript
mov DWORD PTR -264+[ebp], eax
jmp SHORT $L10790
$L10789:
mov DWORD PTR -264+[ebp], 0
$L10790:
mov eax, DWORD PTR -264+[ebp]
jmp $L6063
$L6140:
; Line 2613
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10791[ebp], eax
cmp DWORD PTR $T10791[ebp], 0
je SHORT $L10792
mov ecx, DWORD PTR $T10791[ebp]
call ??0ChaffChunkScript@@QAE@XZ ; ChaffChunkScript::ChaffChunkScript
mov DWORD PTR -268+[ebp], eax
jmp SHORT $L10793
$L10792:
mov DWORD PTR -268+[ebp], 0
$L10793:
mov eax, DWORD PTR -268+[ebp]
jmp $L6063
$L6143:
; Line 2616
push 4
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10794[ebp], eax
cmp DWORD PTR $T10794[ebp], 0
je SHORT $L10795
mov ecx, DWORD PTR $T10794[ebp]
call ??0ProxMine@@QAE@XZ ; ProxMine::ProxMine
mov DWORD PTR -272+[ebp], eax
jmp SHORT $L10796
$L10795:
mov DWORD PTR -272+[ebp], 0
$L10796:
mov eax, DWORD PTR -272+[ebp]
jmp $L6063
$L6146:
; Line 2619
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10797[ebp], eax
cmp DWORD PTR $T10797[ebp], 0
je SHORT $L10798
mov ecx, DWORD PTR $T10797[ebp]
call ??0BettyBomb@@QAE@XZ ; BettyBomb::BettyBomb
mov DWORD PTR -276+[ebp], eax
jmp SHORT $L10799
$L10798:
mov DWORD PTR -276+[ebp], 0
$L10799:
mov eax, DWORD PTR -276+[ebp]
jmp $L6063
$L6149:
; Line 2622
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10800[ebp], eax
cmp DWORD PTR $T10800[ebp], 0
je SHORT $L10801
mov ecx, DWORD PTR $T10800[ebp]
call ??0JoshBell@@QAE@XZ ; JoshBell::JoshBell
mov DWORD PTR -280+[ebp], eax
jmp SHORT $L10802
$L10801:
mov DWORD PTR -280+[ebp], 0
$L10802:
mov eax, DWORD PTR -280+[ebp]
jmp $L6063
$L6152:
; Line 2625
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10803[ebp], eax
cmp DWORD PTR $T10803[ebp], 0
je SHORT $L10804
mov ecx, DWORD PTR $T10803[ebp]
call ??0Skiff@@QAE@XZ ; Skiff::Skiff
mov DWORD PTR -284+[ebp], eax
jmp SHORT $L10805
$L10804:
mov DWORD PTR -284+[ebp], 0
$L10805:
mov eax, DWORD PTR -284+[ebp]
jmp $L6063
$L6155:
; Line 2628
push 4
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10806[ebp], eax
cmp DWORD PTR $T10806[ebp], 0
je SHORT $L10807
mov ecx, DWORD PTR $T10806[ebp]
call ??0ExplodeOnContact@@QAE@XZ ; ExplodeOnContact::ExplodeOnContact
mov DWORD PTR -288+[ebp], eax
jmp SHORT $L10808
$L10807:
mov DWORD PTR -288+[ebp], 0
$L10808:
mov eax, DWORD PTR -288+[ebp]
jmp $L6063
$L6158:
; Line 2631
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10809[ebp], eax
cmp DWORD PTR $T10809[ebp], 0
je SHORT $L10810
mov ecx, DWORD PTR $T10809[ebp]
call ??0ExplodeTimeOut@@QAE@XZ ; ExplodeTimeOut::ExplodeTimeOut
mov DWORD PTR -292+[ebp], eax
jmp SHORT $L10811
$L10810:
mov DWORD PTR -292+[ebp], 0
$L10811:
mov eax, DWORD PTR -292+[ebp]
jmp $L6063
$L6161:
; Line 2634
push 4
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10812[ebp], eax
cmp DWORD PTR $T10812[ebp], 0
je SHORT $L10813
mov ecx, DWORD PTR $T10812[ebp]
call ??0Gunboy@@QAE@XZ ; Gunboy::Gunboy
mov DWORD PTR -296+[ebp], eax
jmp SHORT $L10814
$L10813:
mov DWORD PTR -296+[ebp], 0
$L10814:
mov eax, DWORD PTR -296+[ebp]
jmp $L6063
$L6164:
; Line 2637
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10815[ebp], eax
cmp DWORD PTR $T10815[ebp], 0
je SHORT $L10816
mov ecx, DWORD PTR $T10815[ebp]
call ??0DTower@@QAE@XZ ; DTower::DTower
mov DWORD PTR -300+[ebp], eax
jmp SHORT $L10817
$L10816:
mov DWORD PTR -300+[ebp], 0
$L10817:
mov eax, DWORD PTR -300+[ebp]
jmp $L6063
$L6167:
; Line 2640
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10818[ebp], eax
cmp DWORD PTR $T10818[ebp], 0
je SHORT $L10819
mov ecx, DWORD PTR $T10818[ebp]
call ??0DCollector@@QAE@XZ ; DCollector::DCollector
mov DWORD PTR -304+[ebp], eax
jmp SHORT $L10820
$L10819:
mov DWORD PTR -304+[ebp], 0
$L10820:
mov eax, DWORD PTR -304+[ebp]
jmp $L6063
$L6170:
; Line 2643
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10821[ebp], eax
cmp DWORD PTR $T10821[ebp], 0
je SHORT $L10822
mov ecx, DWORD PTR $T10821[ebp]
call ??0CBall@@QAE@XZ ; CBall::CBall
mov DWORD PTR -308+[ebp], eax
jmp SHORT $L10823
$L10822:
mov DWORD PTR -308+[ebp], 0
$L10823:
mov eax, DWORD PTR -308+[ebp]
jmp $L6063
$L6173:
; Line 2646
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10824[ebp], eax
cmp DWORD PTR $T10824[ebp], 0
je SHORT $L10825
mov ecx, DWORD PTR $T10824[ebp]
call ??0Hellion@@QAE@XZ ; Hellion::Hellion
mov DWORD PTR -312+[ebp], eax
jmp SHORT $L10826
$L10825:
mov DWORD PTR -312+[ebp], 0
$L10826:
mov eax, DWORD PTR -312+[ebp]
jmp $L6063
$L6176:
; Line 2649
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10827[ebp], eax
cmp DWORD PTR $T10827[ebp], 0
je SHORT $L10828
mov ecx, DWORD PTR $T10827[ebp]
call ??0SuperThief@@QAE@XZ ; SuperThief::SuperThief
mov DWORD PTR -316+[ebp], eax
jmp SHORT $L10829
$L10828:
mov DWORD PTR -316+[ebp], 0
$L10829:
mov eax, DWORD PTR -316+[ebp]
jmp $L6063
$L6179:
; Line 2652
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10830[ebp], eax
cmp DWORD PTR $T10830[ebp], 0
je SHORT $L10831
mov ecx, DWORD PTR $T10830[ebp]
call ??0EvaderModA@@QAE@XZ ; EvaderModA::EvaderModA
mov DWORD PTR -320+[ebp], eax
jmp SHORT $L10832
$L10831:
mov DWORD PTR -320+[ebp], 0
$L10832:
mov eax, DWORD PTR -320+[ebp]
jmp $L6063
$L6182:
; Line 2655
push 4
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10833[ebp], eax
cmp DWORD PTR $T10833[ebp], 0
je SHORT $L10834
mov ecx, DWORD PTR $T10833[ebp]
call ??0DestroyOnContact@@QAE@XZ ; DestroyOnContact::DestroyOnContact
mov DWORD PTR -324+[ebp], eax
jmp SHORT $L10835
$L10834:
mov DWORD PTR -324+[ebp], 0
$L10835:
mov eax, DWORD PTR -324+[ebp]
jmp $L6063
$L6185:
; Line 2658
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10836[ebp], eax
cmp DWORD PTR $T10836[ebp], 0
je SHORT $L10837
mov ecx, DWORD PTR $T10836[ebp]
call ??0HatePTMC@@QAE@XZ ; HatePTMC::HatePTMC
mov DWORD PTR -328+[ebp], eax
jmp SHORT $L10838
$L10837:
mov DWORD PTR -328+[ebp], 0
$L10838:
mov eax, DWORD PTR -328+[ebp]
jmp SHORT $L6063
$L6188:
; Line 2661
push 8
call ??2@YAPAXI@Z ; operator new
add esp, 4
mov DWORD PTR $T10839[ebp], eax
cmp DWORD PTR $T10839[ebp], 0
je SHORT $L10840
mov ecx, DWORD PTR $T10839[ebp]
call ??0SniperNoRun@@QAE@XZ ; SniperNoRun::SniperNoRun
mov DWORD PTR -332+[ebp], eax
jmp SHORT $L10841
$L10840:
mov DWORD PTR -332+[ebp], 0
$L10841:
mov eax, DWORD PTR -332+[ebp]
jmp SHORT $L6063
$L6191:
; Line 2664
mov edx, DWORD PTR _id$[ebp]
push edx
push OFFSET FLAT:$SG6192
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 2667
xor eax, eax
$L6063:
; Line 2668
mov esp, ebp
pop ebp
ret 4
$L10842:
DD $L6068
DD $L6071
DD $L6074
DD $L6077
DD $L6080
DD $L6083
DD $L6086
DD $L6086
DD $L6089
DD $L6092
DD $L6095
DD $L6098
DD $L6101
DD $L6104
DD $L6107
DD $L6110
DD $L6113
DD $L6116
DD $L6119
DD $L6122
DD $L6125
DD $L6128
DD $L6131
DD $L6134
DD $L6137
DD $L6140
DD $L6143
DD $L6146
DD $L6149
DD $L6152
DD $L6155
DD $L6158
DD $L6161
DD $L6164
DD $L6167
DD $L6170
DD $L6173
DD $L6176
DD $L6179
DD $L6182
DD $L6185
DD $L6188
_CreateInstance@4 ENDP
_TEXT ENDS
PUBLIC ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
PUBLIC ?CallEvent@Pest@@UAEFHPAUtOSIRISEventInfo@@@Z ; Pest::CallEvent
PUBLIC ??_7Pest@@6B@ ; Pest::`vftable'
; COMDAT ??_7Pest@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Pest@@6B@ DD FLAT:?CallEvent@Pest@@UAEFHPAUtOSIRISEventInfo@@@Z ; Pest::`vftable'
CONST ENDS
; COMDAT ??0Pest@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Pest@@QAE@XZ PROC NEAR ; Pest::Pest, COMDAT
; File aigame.cpp
; Line 355
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Pest@@6B@ ; Pest::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Pest@@QAE@XZ ENDP ; Pest::Pest
_TEXT ENDS
PUBLIC ?CallEvent@Stinger@@UAEFHPAUtOSIRISEventInfo@@@Z ; Stinger::CallEvent
PUBLIC ??_7Stinger@@6B@ ; Stinger::`vftable'
; COMDAT ??_7Stinger@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Stinger@@6B@ DD FLAT:?CallEvent@Stinger@@UAEFHPAUtOSIRISEventInfo@@@Z ; Stinger::`vftable'
CONST ENDS
; COMDAT ??0Stinger@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Stinger@@QAE@XZ PROC NEAR ; Stinger::Stinger, COMDAT
; File aigame.cpp
; Line 381
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Stinger@@6B@ ; Stinger::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Stinger@@QAE@XZ ENDP ; Stinger::Stinger
_TEXT ENDS
PUBLIC ??_7SuperThief@@6B@ ; SuperThief::`vftable'
; COMDAT ??_7SuperThief@@6B@
; File aigame.cpp
CONST SEGMENT
??_7SuperThief@@6B@ DD FLAT:?CallEvent@SuperThief@@UAEFHPAUtOSIRISEventInfo@@@Z ; SuperThief::`vftable'
CONST ENDS
; COMDAT ??0SuperThief@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0SuperThief@@QAE@XZ PROC NEAR ; SuperThief::SuperThief, COMDAT
; File aigame.cpp
; Line 451
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7SuperThief@@6B@ ; SuperThief::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0SuperThief@@QAE@XZ ENDP ; SuperThief::SuperThief
_TEXT ENDS
PUBLIC ?CallEvent@Humonculous@@UAEFHPAUtOSIRISEventInfo@@@Z ; Humonculous::CallEvent
PUBLIC ??_7Humonculous@@6B@ ; Humonculous::`vftable'
; COMDAT ??_7Humonculous@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Humonculous@@6B@ DD FLAT:?CallEvent@Humonculous@@UAEFHPAUtOSIRISEventInfo@@@Z ; Humonculous::`vftable'
CONST ENDS
; COMDAT ??0Humonculous@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Humonculous@@QAE@XZ PROC NEAR ; Humonculous::Humonculous, COMDAT
; File aigame.cpp
; Line 502
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Humonculous@@6B@ ; Humonculous::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Humonculous@@QAE@XZ ENDP ; Humonculous::Humonculous
_TEXT ENDS
PUBLIC ?CallEvent@Dragon@@UAEFHPAUtOSIRISEventInfo@@@Z ; Dragon::CallEvent
PUBLIC ??_7Dragon@@6B@ ; Dragon::`vftable'
; COMDAT ??_7Dragon@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Dragon@@6B@ DD FLAT:?CallEvent@Dragon@@UAEFHPAUtOSIRISEventInfo@@@Z ; Dragon::`vftable'
CONST ENDS
; COMDAT ??0Dragon@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Dragon@@QAE@XZ PROC NEAR ; Dragon::Dragon, COMDAT
; File aigame.cpp
; Line 529
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Dragon@@6B@ ; Dragon::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Dragon@@QAE@XZ ENDP ; Dragon::Dragon
_TEXT ENDS
PUBLIC ?CallEvent@Tracker@@UAEFHPAUtOSIRISEventInfo@@@Z ; Tracker::CallEvent
PUBLIC ??_7Tracker@@6B@ ; Tracker::`vftable'
; COMDAT ??_7Tracker@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Tracker@@6B@ DD FLAT:?CallEvent@Tracker@@UAEFHPAUtOSIRISEventInfo@@@Z ; Tracker::`vftable'
CONST ENDS
; COMDAT ??0Tracker@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Tracker@@QAE@XZ PROC NEAR ; Tracker::Tracker, COMDAT
; File aigame.cpp
; Line 550
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Tracker@@6B@ ; Tracker::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Tracker@@QAE@XZ ENDP ; Tracker::Tracker
_TEXT ENDS
PUBLIC ?CallEvent@Lance@@UAEFHPAUtOSIRISEventInfo@@@Z ; Lance::CallEvent
PUBLIC ??_7Lance@@6B@ ; Lance::`vftable'
; COMDAT ??_7Lance@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Lance@@6B@ DD FLAT:?CallEvent@Lance@@UAEFHPAUtOSIRISEventInfo@@@Z ; Lance::`vftable'
CONST ENDS
; COMDAT ??0Lance@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Lance@@QAE@XZ PROC NEAR ; Lance::Lance, COMDAT
; File aigame.cpp
; Line 573
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Lance@@6B@ ; Lance::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Lance@@QAE@XZ ENDP ; Lance::Lance
_TEXT ENDS
PUBLIC ?CallEvent@Flak@@UAEFHPAUtOSIRISEventInfo@@@Z ; Flak::CallEvent
PUBLIC ??_7Flak@@6B@ ; Flak::`vftable'
; COMDAT ??_7Flak@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Flak@@6B@ DD FLAT:?CallEvent@Flak@@UAEFHPAUtOSIRISEventInfo@@@Z ; Flak::`vftable'
CONST ENDS
; COMDAT ??0Flak@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Flak@@QAE@XZ PROC NEAR ; Flak::Flak, COMDAT
; File aigame.cpp
; Line 591
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Flak@@6B@ ; Flak::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Flak@@QAE@XZ ENDP ; Flak::Flak
_TEXT ENDS
PUBLIC ?CallEvent@Seeker@@UAEFHPAUtOSIRISEventInfo@@@Z ; Seeker::CallEvent
PUBLIC ??_7Seeker@@6B@ ; Seeker::`vftable'
; COMDAT ??_7Seeker@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Seeker@@6B@ DD FLAT:?CallEvent@Seeker@@UAEFHPAUtOSIRISEventInfo@@@Z ; Seeker::`vftable'
CONST ENDS
; COMDAT ??0Seeker@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Seeker@@QAE@XZ PROC NEAR ; Seeker::Seeker, COMDAT
; File aigame.cpp
; Line 605
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Seeker@@6B@ ; Seeker::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Seeker@@QAE@XZ ENDP ; Seeker::Seeker
_TEXT ENDS
PUBLIC ?CallEvent@SuperTrooper@@UAEFHPAUtOSIRISEventInfo@@@Z ; SuperTrooper::CallEvent
PUBLIC ??_7SuperTrooper@@6B@ ; SuperTrooper::`vftable'
; COMDAT ??_7SuperTrooper@@6B@
; File aigame.cpp
CONST SEGMENT
??_7SuperTrooper@@6B@ DD FLAT:?CallEvent@SuperTrooper@@UAEFHPAUtOSIRISEventInfo@@@Z ; SuperTrooper::`vftable'
CONST ENDS
; COMDAT ??0SuperTrooper@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0SuperTrooper@@QAE@XZ PROC NEAR ; SuperTrooper::SuperTrooper, COMDAT
; File aigame.cpp
; Line 624
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7SuperTrooper@@6B@ ; SuperTrooper::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0SuperTrooper@@QAE@XZ ENDP ; SuperTrooper::SuperTrooper
_TEXT ENDS
PUBLIC ?CallEvent@Sparky@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sparky::CallEvent
PUBLIC ??_7Sparky@@6B@ ; Sparky::`vftable'
; COMDAT ??_7Sparky@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Sparky@@6B@ DD FLAT:?CallEvent@Sparky@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sparky::`vftable'
CONST ENDS
; COMDAT ??0Sparky@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Sparky@@QAE@XZ PROC NEAR ; Sparky::Sparky, COMDAT
; File aigame.cpp
; Line 671
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Sparky@@6B@ ; Sparky::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Sparky@@QAE@XZ ENDP ; Sparky::Sparky
_TEXT ENDS
PUBLIC ?CallEvent@Hellion@@UAEFHPAUtOSIRISEventInfo@@@Z ; Hellion::CallEvent
PUBLIC ??_7Hellion@@6B@ ; Hellion::`vftable'
; COMDAT ??_7Hellion@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Hellion@@6B@ DD FLAT:?CallEvent@Hellion@@UAEFHPAUtOSIRISEventInfo@@@Z ; Hellion::`vftable'
CONST ENDS
; COMDAT ??0Hellion@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Hellion@@QAE@XZ PROC NEAR ; Hellion::Hellion, COMDAT
; File aigame.cpp
; Line 708
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Hellion@@6B@ ; Hellion::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Hellion@@QAE@XZ ENDP ; Hellion::Hellion
_TEXT ENDS
PUBLIC ?CallEvent@MantaRay@@UAEFHPAUtOSIRISEventInfo@@@Z ; MantaRay::CallEvent
PUBLIC ??_7MantaRay@@6B@ ; MantaRay::`vftable'
; COMDAT ??_7MantaRay@@6B@
; File aigame.cpp
CONST SEGMENT
??_7MantaRay@@6B@ DD FLAT:?CallEvent@MantaRay@@UAEFHPAUtOSIRISEventInfo@@@Z ; MantaRay::`vftable'
CONST ENDS
; COMDAT ??0MantaRay@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0MantaRay@@QAE@XZ PROC NEAR ; MantaRay::MantaRay, COMDAT
; File aigame.cpp
; Line 784
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7MantaRay@@6B@ ; MantaRay::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0MantaRay@@QAE@XZ ENDP ; MantaRay::MantaRay
_TEXT ENDS
PUBLIC ?CallEvent@Skiff@@UAEFHPAUtOSIRISEventInfo@@@Z ; Skiff::CallEvent
PUBLIC ??_7Skiff@@6B@ ; Skiff::`vftable'
; COMDAT ??_7Skiff@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Skiff@@6B@ DD FLAT:?CallEvent@Skiff@@UAEFHPAUtOSIRISEventInfo@@@Z ; Skiff::`vftable'
CONST ENDS
; COMDAT ??0Skiff@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Skiff@@QAE@XZ PROC NEAR ; Skiff::Skiff, COMDAT
; File aigame.cpp
; Line 833
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Skiff@@6B@ ; Skiff::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Skiff@@QAE@XZ ENDP ; Skiff::Skiff
_TEXT ENDS
PUBLIC ?CallEvent@SpyHunter@@UAEFHPAUtOSIRISEventInfo@@@Z ; SpyHunter::CallEvent
PUBLIC ??_7SpyHunter@@6B@ ; SpyHunter::`vftable'
; COMDAT ??_7SpyHunter@@6B@
; File aigame.cpp
CONST SEGMENT
??_7SpyHunter@@6B@ DD FLAT:?CallEvent@SpyHunter@@UAEFHPAUtOSIRISEventInfo@@@Z ; SpyHunter::`vftable'
CONST ENDS
; COMDAT ??0SpyHunter@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0SpyHunter@@QAE@XZ PROC NEAR ; SpyHunter::SpyHunter, COMDAT
; File aigame.cpp
; Line 877
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7SpyHunter@@6B@ ; SpyHunter::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0SpyHunter@@QAE@XZ ENDP ; SpyHunter::SpyHunter
_TEXT ENDS
PUBLIC ?CallEvent@Sniper@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sniper::CallEvent
PUBLIC ??_7Sniper@@6B@ ; Sniper::`vftable'
; COMDAT ??_7Sniper@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Sniper@@6B@ DD FLAT:?CallEvent@Sniper@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sniper::`vftable'
CONST ENDS
; COMDAT ??0Sniper@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Sniper@@QAE@XZ PROC NEAR ; Sniper::Sniper, COMDAT
; File aigame.cpp
; Line 906
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Sniper@@6B@ ; Sniper::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Sniper@@QAE@XZ ENDP ; Sniper::Sniper
_TEXT ENDS
PUBLIC ?CallEvent@SniperNoRun@@UAEFHPAUtOSIRISEventInfo@@@Z ; SniperNoRun::CallEvent
PUBLIC ??_7SniperNoRun@@6B@ ; SniperNoRun::`vftable'
; COMDAT ??_7SniperNoRun@@6B@
; File aigame.cpp
CONST SEGMENT
??_7SniperNoRun@@6B@ DD FLAT:?CallEvent@SniperNoRun@@UAEFHPAUtOSIRISEventInfo@@@Z ; SniperNoRun::`vftable'
CONST ENDS
; COMDAT ??0SniperNoRun@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0SniperNoRun@@QAE@XZ PROC NEAR ; SniperNoRun::SniperNoRun, COMDAT
; File aigame.cpp
; Line 935
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7SniperNoRun@@6B@ ; SniperNoRun::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0SniperNoRun@@QAE@XZ ENDP ; SniperNoRun::SniperNoRun
_TEXT ENDS
PUBLIC ?CallEvent@EvaderModA@@UAEFHPAUtOSIRISEventInfo@@@Z ; EvaderModA::CallEvent
PUBLIC ??_7EvaderModA@@6B@ ; EvaderModA::`vftable'
; COMDAT ??_7EvaderModA@@6B@
; File aigame.cpp
CONST SEGMENT
??_7EvaderModA@@6B@ DD FLAT:?CallEvent@EvaderModA@@UAEFHPAUtOSIRISEventInfo@@@Z ; EvaderModA::`vftable'
CONST ENDS
; COMDAT ??0EvaderModA@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0EvaderModA@@QAE@XZ PROC NEAR ; EvaderModA::EvaderModA, COMDAT
; File aigame.cpp
; Line 961
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7EvaderModA@@6B@ ; EvaderModA::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0EvaderModA@@QAE@XZ ENDP ; EvaderModA::EvaderModA
_TEXT ENDS
PUBLIC ?CallEvent@Jugg@@UAEFHPAUtOSIRISEventInfo@@@Z ; Jugg::CallEvent
PUBLIC ??_7Jugg@@6B@ ; Jugg::`vftable'
; COMDAT ??_7Jugg@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Jugg@@6B@ DD FLAT:?CallEvent@Jugg@@UAEFHPAUtOSIRISEventInfo@@@Z ; Jugg::`vftable'
CONST ENDS
; COMDAT ??0Jugg@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Jugg@@QAE@XZ PROC NEAR ; Jugg::Jugg, COMDAT
; File aigame.cpp
; Line 1000
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Jugg@@6B@ ; Jugg::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Jugg@@QAE@XZ ENDP ; Jugg::Jugg
_TEXT ENDS
PUBLIC ?CallEvent@DTower@@UAEFHPAUtOSIRISEventInfo@@@Z ; DTower::CallEvent
PUBLIC ??_7DTower@@6B@ ; DTower::`vftable'
; COMDAT ??_7DTower@@6B@
; File aigame.cpp
CONST SEGMENT
??_7DTower@@6B@ DD FLAT:?CallEvent@DTower@@UAEFHPAUtOSIRISEventInfo@@@Z ; DTower::`vftable'
CONST ENDS
; COMDAT ??0DTower@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0DTower@@QAE@XZ PROC NEAR ; DTower::DTower, COMDAT
; File aigame.cpp
; Line 1026
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7DTower@@6B@ ; DTower::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0DTower@@QAE@XZ ENDP ; DTower::DTower
_TEXT ENDS
PUBLIC ?CallEvent@DCollector@@UAEFHPAUtOSIRISEventInfo@@@Z ; DCollector::CallEvent
PUBLIC ??_7DCollector@@6B@ ; DCollector::`vftable'
; COMDAT ??_7DCollector@@6B@
; File aigame.cpp
CONST SEGMENT
??_7DCollector@@6B@ DD FLAT:?CallEvent@DCollector@@UAEFHPAUtOSIRISEventInfo@@@Z ; DCollector::`vftable'
CONST ENDS
; COMDAT ??0DCollector@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0DCollector@@QAE@XZ PROC NEAR ; DCollector::DCollector, COMDAT
; File aigame.cpp
; Line 1050
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7DCollector@@6B@ ; DCollector::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0DCollector@@QAE@XZ ENDP ; DCollector::DCollector
_TEXT ENDS
PUBLIC ?CallEvent@CBall@@UAEFHPAUtOSIRISEventInfo@@@Z ; CBall::CallEvent
PUBLIC ??_7CBall@@6B@ ; CBall::`vftable'
; COMDAT ??_7CBall@@6B@
; File aigame.cpp
CONST SEGMENT
??_7CBall@@6B@ DD FLAT:?CallEvent@CBall@@UAEFHPAUtOSIRISEventInfo@@@Z ; CBall::`vftable'
CONST ENDS
; COMDAT ??0CBall@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0CBall@@QAE@XZ PROC NEAR ; CBall::CBall, COMDAT
; File aigame.cpp
; Line 1071
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7CBall@@6B@ ; CBall::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0CBall@@QAE@XZ ENDP ; CBall::CBall
_TEXT ENDS
PUBLIC ?CallEvent@SixGun@@UAEFHPAUtOSIRISEventInfo@@@Z ; SixGun::CallEvent
PUBLIC ??_7SixGun@@6B@ ; SixGun::`vftable'
; COMDAT ??_7SixGun@@6B@
; File aigame.cpp
CONST SEGMENT
??_7SixGun@@6B@ DD FLAT:?CallEvent@SixGun@@UAEFHPAUtOSIRISEventInfo@@@Z ; SixGun::`vftable'
CONST ENDS
; COMDAT ??0SixGun@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0SixGun@@QAE@XZ PROC NEAR ; SixGun::SixGun, COMDAT
; File aigame.cpp
; Line 1093
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7SixGun@@6B@ ; SixGun::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0SixGun@@QAE@XZ ENDP ; SixGun::SixGun
_TEXT ENDS
PUBLIC ?CallEvent@Sickle@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sickle::CallEvent
PUBLIC ??_7Sickle@@6B@ ; Sickle::`vftable'
; COMDAT ??_7Sickle@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Sickle@@6B@ DD FLAT:?CallEvent@Sickle@@UAEFHPAUtOSIRISEventInfo@@@Z ; Sickle::`vftable'
CONST ENDS
; COMDAT ??0Sickle@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Sickle@@QAE@XZ PROC NEAR ; Sickle::Sickle, COMDAT
; File aigame.cpp
; Line 1153
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Sickle@@6B@ ; Sickle::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Sickle@@QAE@XZ ENDP ; Sickle::Sickle
_TEXT ENDS
PUBLIC ?CallEvent@BettyBomb@@UAEFHPAUtOSIRISEventInfo@@@Z ; BettyBomb::CallEvent
PUBLIC ??_7BettyBomb@@6B@ ; BettyBomb::`vftable'
; COMDAT ??_7BettyBomb@@6B@
; File aigame.cpp
CONST SEGMENT
??_7BettyBomb@@6B@ DD FLAT:?CallEvent@BettyBomb@@UAEFHPAUtOSIRISEventInfo@@@Z ; BettyBomb::`vftable'
CONST ENDS
; COMDAT ??0BettyBomb@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0BettyBomb@@QAE@XZ PROC NEAR ; BettyBomb::BettyBomb, COMDAT
; File aigame.cpp
; Line 1168
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7BettyBomb@@6B@ ; BettyBomb::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0BettyBomb@@QAE@XZ ENDP ; BettyBomb::BettyBomb
_TEXT ENDS
PUBLIC ?CallEvent@BettyScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; BettyScript::CallEvent
PUBLIC ??_7BettyScript@@6B@ ; BettyScript::`vftable'
; COMDAT ??_7BettyScript@@6B@
; File aigame.cpp
CONST SEGMENT
??_7BettyScript@@6B@ DD FLAT:?CallEvent@BettyScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; BettyScript::`vftable'
CONST ENDS
; COMDAT ??0BettyScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0BettyScript@@QAE@XZ PROC NEAR ; BettyScript::BettyScript, COMDAT
; File aigame.cpp
; Line 1182
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7BettyScript@@6B@ ; BettyScript::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0BettyScript@@QAE@XZ ENDP ; BettyScript::BettyScript
_TEXT ENDS
PUBLIC ?CallEvent@ChaffScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; ChaffScript::CallEvent
PUBLIC ??_7ChaffScript@@6B@ ; ChaffScript::`vftable'
; COMDAT ??_7ChaffScript@@6B@
; File aigame.cpp
CONST SEGMENT
??_7ChaffScript@@6B@ DD FLAT:?CallEvent@ChaffScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; ChaffScript::`vftable'
CONST ENDS
; COMDAT ??0ChaffScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0ChaffScript@@QAE@XZ PROC NEAR ; ChaffScript::ChaffScript, COMDAT
; File aigame.cpp
; Line 1201
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ChaffScript@@6B@ ; ChaffScript::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ChaffScript@@QAE@XZ ENDP ; ChaffScript::ChaffScript
_TEXT ENDS
PUBLIC ?CallEvent@ChaffChunkScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; ChaffChunkScript::CallEvent
PUBLIC ??_7ChaffChunkScript@@6B@ ; ChaffChunkScript::`vftable'
; COMDAT ??_7ChaffChunkScript@@6B@
; File aigame.cpp
CONST SEGMENT
??_7ChaffChunkScript@@6B@ DD FLAT:?CallEvent@ChaffChunkScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; ChaffChunkScript::`vftable'
CONST ENDS
; COMDAT ??0ChaffChunkScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0ChaffChunkScript@@QAE@XZ PROC NEAR ; ChaffChunkScript::ChaffChunkScript, COMDAT
; File aigame.cpp
; Line 1217
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ChaffChunkScript@@6B@ ; ChaffChunkScript::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ChaffChunkScript@@QAE@XZ ENDP ; ChaffChunkScript::ChaffChunkScript
_TEXT ENDS
PUBLIC ?CallEvent@ProxMine@@UAEFHPAUtOSIRISEventInfo@@@Z ; ProxMine::CallEvent
PUBLIC ??_7ProxMine@@6B@ ; ProxMine::`vftable'
; COMDAT ??_7ProxMine@@6B@
; File aigame.cpp
CONST SEGMENT
??_7ProxMine@@6B@ DD FLAT:?CallEvent@ProxMine@@UAEFHPAUtOSIRISEventInfo@@@Z ; ProxMine::`vftable'
CONST ENDS
; COMDAT ??0ProxMine@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0ProxMine@@QAE@XZ PROC NEAR ; ProxMine::ProxMine, COMDAT
; File aigame.cpp
; Line 1237
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ProxMine@@6B@ ; ProxMine::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ProxMine@@QAE@XZ ENDP ; ProxMine::ProxMine
_TEXT ENDS
PUBLIC ?CallEvent@Gunboy@@UAEFHPAUtOSIRISEventInfo@@@Z ; Gunboy::CallEvent
PUBLIC ??_7Gunboy@@6B@ ; Gunboy::`vftable'
; COMDAT ??_7Gunboy@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Gunboy@@6B@ DD FLAT:?CallEvent@Gunboy@@UAEFHPAUtOSIRISEventInfo@@@Z ; Gunboy::`vftable'
CONST ENDS
; COMDAT ??0Gunboy@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Gunboy@@QAE@XZ PROC NEAR ; Gunboy::Gunboy, COMDAT
; File aigame.cpp
; Line 1248
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Gunboy@@6B@ ; Gunboy::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Gunboy@@QAE@XZ ENDP ; Gunboy::Gunboy
_TEXT ENDS
PUBLIC ?CallEvent@GBPowerup@@UAEFHPAUtOSIRISEventInfo@@@Z ; GBPowerup::CallEvent
PUBLIC ??_7GBPowerup@@6B@ ; GBPowerup::`vftable'
; COMDAT ??_7GBPowerup@@6B@
; File aigame.cpp
CONST SEGMENT
??_7GBPowerup@@6B@ DD FLAT:?CallEvent@GBPowerup@@UAEFHPAUtOSIRISEventInfo@@@Z ; GBPowerup::`vftable'
CONST ENDS
; COMDAT ??0GBPowerup@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0GBPowerup@@QAE@XZ PROC NEAR ; GBPowerup::GBPowerup, COMDAT
; File aigame.cpp
; Line 1270
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7GBPowerup@@6B@ ; GBPowerup::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0GBPowerup@@QAE@XZ ENDP ; GBPowerup::GBPowerup
_TEXT ENDS
PUBLIC ?CallEvent@JoshBell@@UAEFHPAUtOSIRISEventInfo@@@Z ; JoshBell::CallEvent
PUBLIC ??_7JoshBell@@6B@ ; JoshBell::`vftable'
; COMDAT ??_7JoshBell@@6B@
; File aigame.cpp
CONST SEGMENT
??_7JoshBell@@6B@ DD FLAT:?CallEvent@JoshBell@@UAEFHPAUtOSIRISEventInfo@@@Z ; JoshBell::`vftable'
CONST ENDS
; COMDAT ??0JoshBell@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0JoshBell@@QAE@XZ PROC NEAR ; JoshBell::JoshBell, COMDAT
; File aigame.cpp
; Line 1294
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7JoshBell@@6B@ ; JoshBell::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0JoshBell@@QAE@XZ ENDP ; JoshBell::JoshBell
_TEXT ENDS
PUBLIC ?CallEvent@ExplodeOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ; ExplodeOnContact::CallEvent
PUBLIC ??_7ExplodeOnContact@@6B@ ; ExplodeOnContact::`vftable'
; COMDAT ??_7ExplodeOnContact@@6B@
; File aigame.cpp
CONST SEGMENT
??_7ExplodeOnContact@@6B@ DD FLAT:?CallEvent@ExplodeOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ; ExplodeOnContact::`vftable'
CONST ENDS
; COMDAT ??0ExplodeOnContact@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0ExplodeOnContact@@QAE@XZ PROC NEAR ; ExplodeOnContact::ExplodeOnContact, COMDAT
; File aigame.cpp
; Line 1307
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ExplodeOnContact@@6B@ ; ExplodeOnContact::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ExplodeOnContact@@QAE@XZ ENDP ; ExplodeOnContact::ExplodeOnContact
_TEXT ENDS
PUBLIC ?CallEvent@DestroyOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ; DestroyOnContact::CallEvent
PUBLIC ??_7DestroyOnContact@@6B@ ; DestroyOnContact::`vftable'
; COMDAT ??_7DestroyOnContact@@6B@
; File aigame.cpp
CONST SEGMENT
??_7DestroyOnContact@@6B@ DD FLAT:?CallEvent@DestroyOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ; DestroyOnContact::`vftable'
CONST ENDS
; COMDAT ??0DestroyOnContact@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0DestroyOnContact@@QAE@XZ PROC NEAR ; DestroyOnContact::DestroyOnContact, COMDAT
; File aigame.cpp
; Line 1320
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7DestroyOnContact@@6B@ ; DestroyOnContact::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0DestroyOnContact@@QAE@XZ ENDP ; DestroyOnContact::DestroyOnContact
_TEXT ENDS
PUBLIC ?CallEvent@GuideBot@@UAEFHPAUtOSIRISEventInfo@@@Z ; GuideBot::CallEvent
PUBLIC ??_7GuideBot@@6B@ ; GuideBot::`vftable'
; COMDAT ??_7GuideBot@@6B@
; File aigame.cpp
CONST SEGMENT
??_7GuideBot@@6B@ DD FLAT:?CallEvent@GuideBot@@UAEFHPAUtOSIRISEventInfo@@@Z ; GuideBot::`vftable'
CONST ENDS
; COMDAT ??0GuideBot@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0GuideBot@@QAE@XZ PROC NEAR ; GuideBot::GuideBot, COMDAT
; File aigame.cpp
; Line 1585
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7GuideBot@@6B@ ; GuideBot::`vftable'
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], 0
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0GuideBot@@QAE@XZ ENDP ; GuideBot::GuideBot
_TEXT ENDS
PUBLIC ?CallEvent@Thief@@UAEFHPAUtOSIRISEventInfo@@@Z ; Thief::CallEvent
PUBLIC ??_7Thief@@6B@ ; Thief::`vftable'
; COMDAT ??_7Thief@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Thief@@6B@ DD FLAT:?CallEvent@Thief@@UAEFHPAUtOSIRISEventInfo@@@Z ; Thief::`vftable'
CONST ENDS
; COMDAT ??0Thief@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Thief@@QAE@XZ PROC NEAR ; Thief::Thief, COMDAT
; File aigame.cpp
; Line 1724
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Thief@@6B@ ; Thief::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Thief@@QAE@XZ ENDP ; Thief::Thief
_TEXT ENDS
PUBLIC ?CallEvent@FireAtDist@@UAEFHPAUtOSIRISEventInfo@@@Z ; FireAtDist::CallEvent
PUBLIC ??_7FireAtDist@@6B@ ; FireAtDist::`vftable'
; COMDAT ??_7FireAtDist@@6B@
; File aigame.cpp
CONST SEGMENT
??_7FireAtDist@@6B@ DD FLAT:?CallEvent@FireAtDist@@UAEFHPAUtOSIRISEventInfo@@@Z ; FireAtDist::`vftable'
CONST ENDS
; COMDAT ??0FireAtDist@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0FireAtDist@@QAE@XZ PROC NEAR ; FireAtDist::FireAtDist, COMDAT
; File aigame.cpp
; Line 2366
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7FireAtDist@@6B@ ; FireAtDist::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0FireAtDist@@QAE@XZ ENDP ; FireAtDist::FireAtDist
_TEXT ENDS
PUBLIC ?CallEvent@HatePTMC@@UAEFHPAUtOSIRISEventInfo@@@Z ; HatePTMC::CallEvent
PUBLIC ??_7HatePTMC@@6B@ ; HatePTMC::`vftable'
; COMDAT ??_7HatePTMC@@6B@
; File aigame.cpp
CONST SEGMENT
??_7HatePTMC@@6B@ DD FLAT:?CallEvent@HatePTMC@@UAEFHPAUtOSIRISEventInfo@@@Z ; HatePTMC::`vftable'
CONST ENDS
; COMDAT ??0HatePTMC@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0HatePTMC@@QAE@XZ PROC NEAR ; HatePTMC::HatePTMC, COMDAT
; File aigame.cpp
; Line 2387
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7HatePTMC@@6B@ ; HatePTMC::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0HatePTMC@@QAE@XZ ENDP ; HatePTMC::HatePTMC
_TEXT ENDS
PUBLIC ?CallEvent@Tubbs@@UAEFHPAUtOSIRISEventInfo@@@Z ; Tubbs::CallEvent
PUBLIC ??_7Tubbs@@6B@ ; Tubbs::`vftable'
; COMDAT ??_7Tubbs@@6B@
; File aigame.cpp
CONST SEGMENT
??_7Tubbs@@6B@ DD FLAT:?CallEvent@Tubbs@@UAEFHPAUtOSIRISEventInfo@@@Z ; Tubbs::`vftable'
CONST ENDS
; COMDAT ??0Tubbs@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0Tubbs@@QAE@XZ PROC NEAR ; Tubbs::Tubbs, COMDAT
; File aigame.cpp
; Line 2412
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7Tubbs@@6B@ ; Tubbs::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0Tubbs@@QAE@XZ ENDP ; Tubbs::Tubbs
_TEXT ENDS
PUBLIC ?CallEvent@BarnSwallow@@UAEFHPAUtOSIRISEventInfo@@@Z ; BarnSwallow::CallEvent
PUBLIC ??_7BarnSwallow@@6B@ ; BarnSwallow::`vftable'
; COMDAT ??_7BarnSwallow@@6B@
; File aigame.cpp
CONST SEGMENT
??_7BarnSwallow@@6B@ DD FLAT:?CallEvent@BarnSwallow@@UAEFHPAUtOSIRISEventInfo@@@Z ; BarnSwallow::`vftable'
CONST ENDS
; COMDAT ??0BarnSwallow@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0BarnSwallow@@QAE@XZ PROC NEAR ; BarnSwallow::BarnSwallow, COMDAT
; File aigame.cpp
; Line 2479
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7BarnSwallow@@6B@ ; BarnSwallow::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0BarnSwallow@@QAE@XZ ENDP ; BarnSwallow::BarnSwallow
_TEXT ENDS
PUBLIC ?CallEvent@ExplodeTimeOut@@UAEFHPAUtOSIRISEventInfo@@@Z ; ExplodeTimeOut::CallEvent
PUBLIC ??_7ExplodeTimeOut@@6B@ ; ExplodeTimeOut::`vftable'
; COMDAT ??_7ExplodeTimeOut@@6B@
CONST SEGMENT
??_7ExplodeTimeOut@@6B@ DD FLAT:?CallEvent@ExplodeTimeOut@@UAEFHPAUtOSIRISEventInfo@@@Z ; ExplodeTimeOut::`vftable'
CONST ENDS
; COMDAT ??0ExplodeTimeOut@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??0ExplodeTimeOut@@QAE@XZ PROC NEAR ; ExplodeTimeOut::ExplodeTimeOut, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??0BaseObjScript@@QAE@XZ ; BaseObjScript::BaseObjScript
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7ExplodeTimeOut@@6B@ ; ExplodeTimeOut::`vftable'
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0ExplodeTimeOut@@QAE@XZ ENDP ; ExplodeTimeOut::ExplodeTimeOut
_TEXT ENDS
PUBLIC ??_GChaffScript@@QAEPAXI@Z ; ChaffScript::`scalar deleting destructor'
PUBLIC ??_GChaffChunkScript@@QAEPAXI@Z ; ChaffChunkScript::`scalar deleting destructor'
PUBLIC ??_GHumonculous@@QAEPAXI@Z ; Humonculous::`scalar deleting destructor'
PUBLIC ??_GProxMine@@QAEPAXI@Z ; ProxMine::`scalar deleting destructor'
PUBLIC ??_GDragon@@QAEPAXI@Z ; Dragon::`scalar deleting destructor'
PUBLIC ??_GGunboy@@QAEPAXI@Z ; Gunboy::`scalar deleting destructor'
PUBLIC ??_GTracker@@QAEPAXI@Z ; Tracker::`scalar deleting destructor'
PUBLIC ??_GGBPowerup@@QAEPAXI@Z ; GBPowerup::`scalar deleting destructor'
PUBLIC ??_GLance@@QAEPAXI@Z ; Lance::`scalar deleting destructor'
PUBLIC ??_GJoshBell@@QAEPAXI@Z ; JoshBell::`scalar deleting destructor'
PUBLIC ??_GFlak@@QAEPAXI@Z ; Flak::`scalar deleting destructor'
PUBLIC ??_GExplodeOnContact@@QAEPAXI@Z ; ExplodeOnContact::`scalar deleting destructor'
PUBLIC ??_GDestroyOnContact@@QAEPAXI@Z ; DestroyOnContact::`scalar deleting destructor'
PUBLIC ??_GSeeker@@QAEPAXI@Z ; Seeker::`scalar deleting destructor'
PUBLIC ??_GSuperTrooper@@QAEPAXI@Z ; SuperTrooper::`scalar deleting destructor'
PUBLIC ??_GSparky@@QAEPAXI@Z ; Sparky::`scalar deleting destructor'
PUBLIC ??_GGuideBot@@QAEPAXI@Z ; GuideBot::`scalar deleting destructor'
PUBLIC ??_GHellion@@QAEPAXI@Z ; Hellion::`scalar deleting destructor'
PUBLIC ??_GMantaRay@@QAEPAXI@Z ; MantaRay::`scalar deleting destructor'
PUBLIC ??_GThief@@QAEPAXI@Z ; Thief::`scalar deleting destructor'
PUBLIC ??_GSkiff@@QAEPAXI@Z ; Skiff::`scalar deleting destructor'
PUBLIC ??_GSpyHunter@@QAEPAXI@Z ; SpyHunter::`scalar deleting destructor'
PUBLIC ??_GSniper@@QAEPAXI@Z ; Sniper::`scalar deleting destructor'
PUBLIC ??_GSniperNoRun@@QAEPAXI@Z ; SniperNoRun::`scalar deleting destructor'
PUBLIC ??_GEvaderModA@@QAEPAXI@Z ; EvaderModA::`scalar deleting destructor'
PUBLIC ??_GJugg@@QAEPAXI@Z ; Jugg::`scalar deleting destructor'
PUBLIC _DestroyInstance@8
PUBLIC ??_GDTower@@QAEPAXI@Z ; DTower::`scalar deleting destructor'
PUBLIC ??_GFireAtDist@@QAEPAXI@Z ; FireAtDist::`scalar deleting destructor'
PUBLIC ??_GDCollector@@QAEPAXI@Z ; DCollector::`scalar deleting destructor'
PUBLIC ??_GHatePTMC@@QAEPAXI@Z ; HatePTMC::`scalar deleting destructor'
PUBLIC ??_GCBall@@QAEPAXI@Z ; CBall::`scalar deleting destructor'
PUBLIC ??_GTubbs@@QAEPAXI@Z ; Tubbs::`scalar deleting destructor'
PUBLIC ??_GSixGun@@QAEPAXI@Z ; SixGun::`scalar deleting destructor'
PUBLIC ??_GExplodeTimeOut@@QAEPAXI@Z ; ExplodeTimeOut::`scalar deleting destructor'
PUBLIC ??_GPest@@QAEPAXI@Z ; Pest::`scalar deleting destructor'
PUBLIC ??_GBarnSwallow@@QAEPAXI@Z ; BarnSwallow::`scalar deleting destructor'
PUBLIC ??_GStinger@@QAEPAXI@Z ; Stinger::`scalar deleting destructor'
PUBLIC ??_GSickle@@QAEPAXI@Z ; Sickle::`scalar deleting destructor'
PUBLIC ??_GBettyBomb@@QAEPAXI@Z ; BettyBomb::`scalar deleting destructor'
PUBLIC ??_GBettyScript@@QAEPAXI@Z ; BettyScript::`scalar deleting destructor'
PUBLIC ??_GSuperThief@@QAEPAXI@Z ; SuperThief::`scalar deleting destructor'
_DATA SEGMENT
ORG $+3
$SG6368 DB 'SCRIPT: Illegal ID (%d)', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_id$ = 8
_ptr$ = 12
$T10885 = -4
$T10886 = -8
$T10889 = -12
$T10890 = -16
$T10893 = -20
$T10894 = -24
$T10897 = -28
$T10898 = -32
$T10901 = -36
$T10902 = -40
$T10905 = -44
$T10906 = -48
$T10909 = -52
$T10910 = -56
$T10913 = -60
$T10914 = -64
$T10917 = -68
$T10918 = -72
$T10921 = -76
$T10922 = -80
$T10925 = -84
$T10926 = -88
$T10929 = -92
$T10930 = -96
$T10933 = -100
$T10934 = -104
$T10937 = -108
$T10938 = -112
$T10941 = -116
$T10942 = -120
$T10945 = -124
$T10946 = -128
$T10949 = -132
$T10950 = -136
$T10953 = -140
$T10954 = -144
$T10957 = -148
$T10958 = -152
$T10961 = -156
$T10962 = -160
$T10965 = -164
$T10966 = -168
$T10969 = -172
$T10970 = -176
$T10973 = -180
$T10974 = -184
$T10977 = -188
$T10978 = -192
$T10981 = -196
$T10982 = -200
$T10985 = -204
$T10986 = -208
$T10989 = -212
$T10990 = -216
$T10993 = -220
$T10994 = -224
$T10997 = -228
$T10998 = -232
$T11001 = -236
$T11002 = -240
$T11005 = -244
$T11006 = -248
$T11009 = -252
$T11010 = -256
$T11013 = -260
$T11014 = -264
$T11017 = -268
$T11018 = -272
$T11021 = -276
$T11022 = -280
$T11025 = -284
$T11026 = -288
$T11029 = -292
$T11030 = -296
$T11033 = -300
$T11034 = -304
$T11037 = -308
$T11038 = -312
$T11041 = -316
$T11042 = -320
$T11045 = -324
$T11046 = -328
_DestroyInstance@8 PROC NEAR
; Line 2671
push ebp
mov ebp, esp
sub esp, 496 ; 000001f0H
; Line 2672
mov eax, DWORD PTR _id$[ebp]
mov DWORD PTR -332+[ebp], eax
cmp DWORD PTR -332+[ebp], 41 ; 00000029H
ja $L6367
mov ecx, DWORD PTR -332+[ebp]
jmp DWORD PTR $L11049[ecx*4]
$L6203:
; Line 2674
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10886[ebp], edx
mov eax, DWORD PTR $T10886[ebp]
mov DWORD PTR $T10885[ebp], eax
cmp DWORD PTR $T10885[ebp], 0
je SHORT $L10887
push 1
mov ecx, DWORD PTR $T10885[ebp]
call ??_GPest@@QAEPAXI@Z ; Pest::`scalar deleting destructor'
mov DWORD PTR -336+[ebp], eax
jmp SHORT $L10888
$L10887:
mov DWORD PTR -336+[ebp], 0
$L10888:
; Line 2675
jmp $L6200
$L6207:
; Line 2677
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10890[ebp], ecx
mov edx, DWORD PTR $T10890[ebp]
mov DWORD PTR $T10889[ebp], edx
cmp DWORD PTR $T10889[ebp], 0
je SHORT $L10891
push 1
mov ecx, DWORD PTR $T10889[ebp]
call ??_GStinger@@QAEPAXI@Z ; Stinger::`scalar deleting destructor'
mov DWORD PTR -340+[ebp], eax
jmp SHORT $L10892
$L10891:
mov DWORD PTR -340+[ebp], 0
$L10892:
; Line 2678
jmp $L6200
$L6211:
; Line 2680
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10894[ebp], eax
mov ecx, DWORD PTR $T10894[ebp]
mov DWORD PTR $T10893[ebp], ecx
cmp DWORD PTR $T10893[ebp], 0
je SHORT $L10895
push 1
mov ecx, DWORD PTR $T10893[ebp]
call ??_GDragon@@QAEPAXI@Z ; Dragon::`scalar deleting destructor'
mov DWORD PTR -344+[ebp], eax
jmp SHORT $L10896
$L10895:
mov DWORD PTR -344+[ebp], 0
$L10896:
; Line 2681
jmp $L6200
$L6215:
; Line 2683
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10898[ebp], edx
mov eax, DWORD PTR $T10898[ebp]
mov DWORD PTR $T10897[ebp], eax
cmp DWORD PTR $T10897[ebp], 0
je SHORT $L10899
push 1
mov ecx, DWORD PTR $T10897[ebp]
call ??_GTracker@@QAEPAXI@Z ; Tracker::`scalar deleting destructor'
mov DWORD PTR -348+[ebp], eax
jmp SHORT $L10900
$L10899:
mov DWORD PTR -348+[ebp], 0
$L10900:
; Line 2684
jmp $L6200
$L6219:
; Line 2686
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10902[ebp], ecx
mov edx, DWORD PTR $T10902[ebp]
mov DWORD PTR $T10901[ebp], edx
cmp DWORD PTR $T10901[ebp], 0
je SHORT $L10903
push 1
mov ecx, DWORD PTR $T10901[ebp]
call ??_GLance@@QAEPAXI@Z ; Lance::`scalar deleting destructor'
mov DWORD PTR -352+[ebp], eax
jmp SHORT $L10904
$L10903:
mov DWORD PTR -352+[ebp], 0
$L10904:
; Line 2687
jmp $L6200
$L6223:
; Line 2689
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10906[ebp], eax
mov ecx, DWORD PTR $T10906[ebp]
mov DWORD PTR $T10905[ebp], ecx
cmp DWORD PTR $T10905[ebp], 0
je SHORT $L10907
push 1
mov ecx, DWORD PTR $T10905[ebp]
call ??_GFlak@@QAEPAXI@Z ; Flak::`scalar deleting destructor'
mov DWORD PTR -356+[ebp], eax
jmp SHORT $L10908
$L10907:
mov DWORD PTR -356+[ebp], 0
$L10908:
; Line 2690
jmp $L6200
$L6227:
; Line 2693
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10910[ebp], edx
mov eax, DWORD PTR $T10910[ebp]
mov DWORD PTR $T10909[ebp], eax
cmp DWORD PTR $T10909[ebp], 0
je SHORT $L10911
push 1
mov ecx, DWORD PTR $T10909[ebp]
call ??_GSuperTrooper@@QAEPAXI@Z ; SuperTrooper::`scalar deleting destructor'
mov DWORD PTR -360+[ebp], eax
jmp SHORT $L10912
$L10911:
mov DWORD PTR -360+[ebp], 0
$L10912:
; Line 2694
jmp $L6200
$L6231:
; Line 2696
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10914[ebp], ecx
mov edx, DWORD PTR $T10914[ebp]
mov DWORD PTR $T10913[ebp], edx
cmp DWORD PTR $T10913[ebp], 0
je SHORT $L10915
push 1
mov ecx, DWORD PTR $T10913[ebp]
call ??_GJugg@@QAEPAXI@Z ; Jugg::`scalar deleting destructor'
mov DWORD PTR -364+[ebp], eax
jmp SHORT $L10916
$L10915:
mov DWORD PTR -364+[ebp], 0
$L10916:
; Line 2697
jmp $L6200
$L6235:
; Line 2699
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10918[ebp], eax
mov ecx, DWORD PTR $T10918[ebp]
mov DWORD PTR $T10917[ebp], ecx
cmp DWORD PTR $T10917[ebp], 0
je SHORT $L10919
push 1
mov ecx, DWORD PTR $T10917[ebp]
call ??_GSixGun@@QAEPAXI@Z ; SixGun::`scalar deleting destructor'
mov DWORD PTR -368+[ebp], eax
jmp SHORT $L10920
$L10919:
mov DWORD PTR -368+[ebp], 0
$L10920:
; Line 2700
jmp $L6200
$L6239:
; Line 2702
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10922[ebp], edx
mov eax, DWORD PTR $T10922[ebp]
mov DWORD PTR $T10921[ebp], eax
cmp DWORD PTR $T10921[ebp], 0
je SHORT $L10923
push 1
mov ecx, DWORD PTR $T10921[ebp]
call ??_GSickle@@QAEPAXI@Z ; Sickle::`scalar deleting destructor'
mov DWORD PTR -372+[ebp], eax
jmp SHORT $L10924
$L10923:
mov DWORD PTR -372+[ebp], 0
$L10924:
; Line 2703
jmp $L6200
$L6243:
; Line 2705
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10926[ebp], ecx
mov edx, DWORD PTR $T10926[ebp]
mov DWORD PTR $T10925[ebp], edx
cmp DWORD PTR $T10925[ebp], 0
je SHORT $L10927
push 1
mov ecx, DWORD PTR $T10925[ebp]
call ??_GGuideBot@@QAEPAXI@Z ; GuideBot::`scalar deleting destructor'
mov DWORD PTR -376+[ebp], eax
jmp SHORT $L10928
$L10927:
mov DWORD PTR -376+[ebp], 0
$L10928:
; Line 2706
jmp $L6200
$L6247:
; Line 2708
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10930[ebp], eax
mov ecx, DWORD PTR $T10930[ebp]
mov DWORD PTR $T10929[ebp], ecx
cmp DWORD PTR $T10929[ebp], 0
je SHORT $L10931
push 1
mov ecx, DWORD PTR $T10929[ebp]
call ??_GFireAtDist@@QAEPAXI@Z ; FireAtDist::`scalar deleting destructor'
mov DWORD PTR -380+[ebp], eax
jmp SHORT $L10932
$L10931:
mov DWORD PTR -380+[ebp], 0
$L10932:
; Line 2709
jmp $L6200
$L6251:
; Line 2711
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10934[ebp], edx
mov eax, DWORD PTR $T10934[ebp]
mov DWORD PTR $T10933[ebp], eax
cmp DWORD PTR $T10933[ebp], 0
je SHORT $L10935
push 1
mov ecx, DWORD PTR $T10933[ebp]
call ??_GTubbs@@QAEPAXI@Z ; Tubbs::`scalar deleting destructor'
mov DWORD PTR -384+[ebp], eax
jmp SHORT $L10936
$L10935:
mov DWORD PTR -384+[ebp], 0
$L10936:
; Line 2712
jmp $L6200
$L6255:
; Line 2714
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10938[ebp], ecx
mov edx, DWORD PTR $T10938[ebp]
mov DWORD PTR $T10937[ebp], edx
cmp DWORD PTR $T10937[ebp], 0
je SHORT $L10939
push 1
mov ecx, DWORD PTR $T10937[ebp]
call ??_GThief@@QAEPAXI@Z ; Thief::`scalar deleting destructor'
mov DWORD PTR -388+[ebp], eax
jmp SHORT $L10940
$L10939:
mov DWORD PTR -388+[ebp], 0
$L10940:
; Line 2715
jmp $L6200
$L6259:
; Line 2717
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10942[ebp], eax
mov ecx, DWORD PTR $T10942[ebp]
mov DWORD PTR $T10941[ebp], ecx
cmp DWORD PTR $T10941[ebp], 0
je SHORT $L10943
push 1
mov ecx, DWORD PTR $T10941[ebp]
call ??_GGBPowerup@@QAEPAXI@Z ; GBPowerup::`scalar deleting destructor'
mov DWORD PTR -392+[ebp], eax
jmp SHORT $L10944
$L10943:
mov DWORD PTR -392+[ebp], 0
$L10944:
; Line 2718
jmp $L6200
$L6263:
; Line 2720
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10946[ebp], edx
mov eax, DWORD PTR $T10946[ebp]
mov DWORD PTR $T10945[ebp], eax
cmp DWORD PTR $T10945[ebp], 0
je SHORT $L10947
push 1
mov ecx, DWORD PTR $T10945[ebp]
call ??_GBarnSwallow@@QAEPAXI@Z ; BarnSwallow::`scalar deleting destructor'
mov DWORD PTR -396+[ebp], eax
jmp SHORT $L10948
$L10947:
mov DWORD PTR -396+[ebp], 0
$L10948:
; Line 2721
jmp $L6200
$L6267:
; Line 2723
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10950[ebp], ecx
mov edx, DWORD PTR $T10950[ebp]
mov DWORD PTR $T10949[ebp], edx
cmp DWORD PTR $T10949[ebp], 0
je SHORT $L10951
push 1
mov ecx, DWORD PTR $T10949[ebp]
call ??_GSparky@@QAEPAXI@Z ; Sparky::`scalar deleting destructor'
mov DWORD PTR -400+[ebp], eax
jmp SHORT $L10952
$L10951:
mov DWORD PTR -400+[ebp], 0
$L10952:
; Line 2724
jmp $L6200
$L6271:
; Line 2726
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10954[ebp], eax
mov ecx, DWORD PTR $T10954[ebp]
mov DWORD PTR $T10953[ebp], ecx
cmp DWORD PTR $T10953[ebp], 0
je SHORT $L10955
push 1
mov ecx, DWORD PTR $T10953[ebp]
call ??_GMantaRay@@QAEPAXI@Z ; MantaRay::`scalar deleting destructor'
mov DWORD PTR -404+[ebp], eax
jmp SHORT $L10956
$L10955:
mov DWORD PTR -404+[ebp], 0
$L10956:
; Line 2727
jmp $L6200
$L6275:
; Line 2729
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10958[ebp], edx
mov eax, DWORD PTR $T10958[ebp]
mov DWORD PTR $T10957[ebp], eax
cmp DWORD PTR $T10957[ebp], 0
je SHORT $L10959
push 1
mov ecx, DWORD PTR $T10957[ebp]
call ??_GSpyHunter@@QAEPAXI@Z ; SpyHunter::`scalar deleting destructor'
mov DWORD PTR -408+[ebp], eax
jmp SHORT $L10960
$L10959:
mov DWORD PTR -408+[ebp], 0
$L10960:
; Line 2730
jmp $L6200
$L6279:
; Line 2732
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10962[ebp], ecx
mov edx, DWORD PTR $T10962[ebp]
mov DWORD PTR $T10961[ebp], edx
cmp DWORD PTR $T10961[ebp], 0
je SHORT $L10963
push 1
mov ecx, DWORD PTR $T10961[ebp]
call ??_GSniper@@QAEPAXI@Z ; Sniper::`scalar deleting destructor'
mov DWORD PTR -412+[ebp], eax
jmp SHORT $L10964
$L10963:
mov DWORD PTR -412+[ebp], 0
$L10964:
; Line 2733
jmp $L6200
$L6283:
; Line 2735
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10966[ebp], eax
mov ecx, DWORD PTR $T10966[ebp]
mov DWORD PTR $T10965[ebp], ecx
cmp DWORD PTR $T10965[ebp], 0
je SHORT $L10967
push 1
mov ecx, DWORD PTR $T10965[ebp]
call ??_GHumonculous@@QAEPAXI@Z ; Humonculous::`scalar deleting destructor'
mov DWORD PTR -416+[ebp], eax
jmp SHORT $L10968
$L10967:
mov DWORD PTR -416+[ebp], 0
$L10968:
; Line 2736
jmp $L6200
$L6287:
; Line 2738
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10970[ebp], edx
mov eax, DWORD PTR $T10970[ebp]
mov DWORD PTR $T10969[ebp], eax
cmp DWORD PTR $T10969[ebp], 0
je SHORT $L10971
push 1
mov ecx, DWORD PTR $T10969[ebp]
call ??_GSeeker@@QAEPAXI@Z ; Seeker::`scalar deleting destructor'
mov DWORD PTR -420+[ebp], eax
jmp SHORT $L10972
$L10971:
mov DWORD PTR -420+[ebp], 0
$L10972:
; Line 2739
jmp $L6200
$L6291:
; Line 2741
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10974[ebp], ecx
mov edx, DWORD PTR $T10974[ebp]
mov DWORD PTR $T10973[ebp], edx
cmp DWORD PTR $T10973[ebp], 0
je SHORT $L10975
push 1
mov ecx, DWORD PTR $T10973[ebp]
call ??_GBettyScript@@QAEPAXI@Z ; BettyScript::`scalar deleting destructor'
mov DWORD PTR -424+[ebp], eax
jmp SHORT $L10976
$L10975:
mov DWORD PTR -424+[ebp], 0
$L10976:
; Line 2742
jmp $L6200
$L6295:
; Line 2744
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10978[ebp], eax
mov ecx, DWORD PTR $T10978[ebp]
mov DWORD PTR $T10977[ebp], ecx
cmp DWORD PTR $T10977[ebp], 0
je SHORT $L10979
push 1
mov ecx, DWORD PTR $T10977[ebp]
call ??_GChaffScript@@QAEPAXI@Z ; ChaffScript::`scalar deleting destructor'
mov DWORD PTR -428+[ebp], eax
jmp SHORT $L10980
$L10979:
mov DWORD PTR -428+[ebp], 0
$L10980:
; Line 2745
jmp $L6200
$L6299:
; Line 2747
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10982[ebp], edx
mov eax, DWORD PTR $T10982[ebp]
mov DWORD PTR $T10981[ebp], eax
cmp DWORD PTR $T10981[ebp], 0
je SHORT $L10983
push 1
mov ecx, DWORD PTR $T10981[ebp]
call ??_GChaffChunkScript@@QAEPAXI@Z ; ChaffChunkScript::`scalar deleting destructor'
mov DWORD PTR -432+[ebp], eax
jmp SHORT $L10984
$L10983:
mov DWORD PTR -432+[ebp], 0
$L10984:
; Line 2748
jmp $L6200
$L6303:
; Line 2750
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10986[ebp], ecx
mov edx, DWORD PTR $T10986[ebp]
mov DWORD PTR $T10985[ebp], edx
cmp DWORD PTR $T10985[ebp], 0
je SHORT $L10987
push 1
mov ecx, DWORD PTR $T10985[ebp]
call ??_GProxMine@@QAEPAXI@Z ; ProxMine::`scalar deleting destructor'
mov DWORD PTR -436+[ebp], eax
jmp SHORT $L10988
$L10987:
mov DWORD PTR -436+[ebp], 0
$L10988:
; Line 2751
jmp $L6200
$L6307:
; Line 2753
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10990[ebp], eax
mov ecx, DWORD PTR $T10990[ebp]
mov DWORD PTR $T10989[ebp], ecx
cmp DWORD PTR $T10989[ebp], 0
je SHORT $L10991
push 1
mov ecx, DWORD PTR $T10989[ebp]
call ??_GBettyBomb@@QAEPAXI@Z ; BettyBomb::`scalar deleting destructor'
mov DWORD PTR -440+[ebp], eax
jmp SHORT $L10992
$L10991:
mov DWORD PTR -440+[ebp], 0
$L10992:
; Line 2754
jmp $L6200
$L6311:
; Line 2756
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10994[ebp], edx
mov eax, DWORD PTR $T10994[ebp]
mov DWORD PTR $T10993[ebp], eax
cmp DWORD PTR $T10993[ebp], 0
je SHORT $L10995
push 1
mov ecx, DWORD PTR $T10993[ebp]
call ??_GJoshBell@@QAEPAXI@Z ; JoshBell::`scalar deleting destructor'
mov DWORD PTR -444+[ebp], eax
jmp SHORT $L10996
$L10995:
mov DWORD PTR -444+[ebp], 0
$L10996:
; Line 2757
jmp $L6200
$L6315:
; Line 2759
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T10998[ebp], ecx
mov edx, DWORD PTR $T10998[ebp]
mov DWORD PTR $T10997[ebp], edx
cmp DWORD PTR $T10997[ebp], 0
je SHORT $L10999
push 1
mov ecx, DWORD PTR $T10997[ebp]
call ??_GSkiff@@QAEPAXI@Z ; Skiff::`scalar deleting destructor'
mov DWORD PTR -448+[ebp], eax
jmp SHORT $L11000
$L10999:
mov DWORD PTR -448+[ebp], 0
$L11000:
; Line 2760
jmp $L6200
$L6319:
; Line 2762
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11002[ebp], eax
mov ecx, DWORD PTR $T11002[ebp]
mov DWORD PTR $T11001[ebp], ecx
cmp DWORD PTR $T11001[ebp], 0
je SHORT $L11003
push 1
mov ecx, DWORD PTR $T11001[ebp]
call ??_GExplodeOnContact@@QAEPAXI@Z ; ExplodeOnContact::`scalar deleting destructor'
mov DWORD PTR -452+[ebp], eax
jmp SHORT $L11004
$L11003:
mov DWORD PTR -452+[ebp], 0
$L11004:
; Line 2763
jmp $L6200
$L6323:
; Line 2765
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11006[ebp], edx
mov eax, DWORD PTR $T11006[ebp]
mov DWORD PTR $T11005[ebp], eax
cmp DWORD PTR $T11005[ebp], 0
je SHORT $L11007
push 1
mov ecx, DWORD PTR $T11005[ebp]
call ??_GExplodeTimeOut@@QAEPAXI@Z ; ExplodeTimeOut::`scalar deleting destructor'
mov DWORD PTR -456+[ebp], eax
jmp SHORT $L11008
$L11007:
mov DWORD PTR -456+[ebp], 0
$L11008:
; Line 2766
jmp $L6200
$L6327:
; Line 2768
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11010[ebp], ecx
mov edx, DWORD PTR $T11010[ebp]
mov DWORD PTR $T11009[ebp], edx
cmp DWORD PTR $T11009[ebp], 0
je SHORT $L11011
push 1
mov ecx, DWORD PTR $T11009[ebp]
call ??_GGunboy@@QAEPAXI@Z ; Gunboy::`scalar deleting destructor'
mov DWORD PTR -460+[ebp], eax
jmp SHORT $L11012
$L11011:
mov DWORD PTR -460+[ebp], 0
$L11012:
; Line 2769
jmp $L6200
$L6331:
; Line 2771
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11014[ebp], eax
mov ecx, DWORD PTR $T11014[ebp]
mov DWORD PTR $T11013[ebp], ecx
cmp DWORD PTR $T11013[ebp], 0
je SHORT $L11015
push 1
mov ecx, DWORD PTR $T11013[ebp]
call ??_GDTower@@QAEPAXI@Z ; DTower::`scalar deleting destructor'
mov DWORD PTR -464+[ebp], eax
jmp SHORT $L11016
$L11015:
mov DWORD PTR -464+[ebp], 0
$L11016:
; Line 2772
jmp $L6200
$L6335:
; Line 2774
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11018[ebp], edx
mov eax, DWORD PTR $T11018[ebp]
mov DWORD PTR $T11017[ebp], eax
cmp DWORD PTR $T11017[ebp], 0
je SHORT $L11019
push 1
mov ecx, DWORD PTR $T11017[ebp]
call ??_GDCollector@@QAEPAXI@Z ; DCollector::`scalar deleting destructor'
mov DWORD PTR -468+[ebp], eax
jmp SHORT $L11020
$L11019:
mov DWORD PTR -468+[ebp], 0
$L11020:
; Line 2775
jmp $L6200
$L6339:
; Line 2777
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11022[ebp], ecx
mov edx, DWORD PTR $T11022[ebp]
mov DWORD PTR $T11021[ebp], edx
cmp DWORD PTR $T11021[ebp], 0
je SHORT $L11023
push 1
mov ecx, DWORD PTR $T11021[ebp]
call ??_GCBall@@QAEPAXI@Z ; CBall::`scalar deleting destructor'
mov DWORD PTR -472+[ebp], eax
jmp SHORT $L11024
$L11023:
mov DWORD PTR -472+[ebp], 0
$L11024:
; Line 2778
jmp $L6200
$L6343:
; Line 2780
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11026[ebp], eax
mov ecx, DWORD PTR $T11026[ebp]
mov DWORD PTR $T11025[ebp], ecx
cmp DWORD PTR $T11025[ebp], 0
je SHORT $L11027
push 1
mov ecx, DWORD PTR $T11025[ebp]
call ??_GHellion@@QAEPAXI@Z ; Hellion::`scalar deleting destructor'
mov DWORD PTR -476+[ebp], eax
jmp SHORT $L11028
$L11027:
mov DWORD PTR -476+[ebp], 0
$L11028:
; Line 2781
jmp $L6200
$L6347:
; Line 2783
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11030[ebp], edx
mov eax, DWORD PTR $T11030[ebp]
mov DWORD PTR $T11029[ebp], eax
cmp DWORD PTR $T11029[ebp], 0
je SHORT $L11031
push 1
mov ecx, DWORD PTR $T11029[ebp]
call ??_GSuperThief@@QAEPAXI@Z ; SuperThief::`scalar deleting destructor'
mov DWORD PTR -480+[ebp], eax
jmp SHORT $L11032
$L11031:
mov DWORD PTR -480+[ebp], 0
$L11032:
; Line 2784
jmp $L6200
$L6351:
; Line 2786
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11034[ebp], ecx
mov edx, DWORD PTR $T11034[ebp]
mov DWORD PTR $T11033[ebp], edx
cmp DWORD PTR $T11033[ebp], 0
je SHORT $L11035
push 1
mov ecx, DWORD PTR $T11033[ebp]
call ??_GEvaderModA@@QAEPAXI@Z ; EvaderModA::`scalar deleting destructor'
mov DWORD PTR -484+[ebp], eax
jmp SHORT $L11036
$L11035:
mov DWORD PTR -484+[ebp], 0
$L11036:
; Line 2787
jmp $L6200
$L6355:
; Line 2789
mov eax, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11038[ebp], eax
mov ecx, DWORD PTR $T11038[ebp]
mov DWORD PTR $T11037[ebp], ecx
cmp DWORD PTR $T11037[ebp], 0
je SHORT $L11039
push 1
mov ecx, DWORD PTR $T11037[ebp]
call ??_GDestroyOnContact@@QAEPAXI@Z ; DestroyOnContact::`scalar deleting destructor'
mov DWORD PTR -488+[ebp], eax
jmp SHORT $L11040
$L11039:
mov DWORD PTR -488+[ebp], 0
$L11040:
; Line 2790
jmp $L6200
$L6359:
; Line 2792
mov edx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11042[ebp], edx
mov eax, DWORD PTR $T11042[ebp]
mov DWORD PTR $T11041[ebp], eax
cmp DWORD PTR $T11041[ebp], 0
je SHORT $L11043
push 1
mov ecx, DWORD PTR $T11041[ebp]
call ??_GHatePTMC@@QAEPAXI@Z ; HatePTMC::`scalar deleting destructor'
mov DWORD PTR -492+[ebp], eax
jmp SHORT $L11044
$L11043:
mov DWORD PTR -492+[ebp], 0
$L11044:
; Line 2793
jmp SHORT $L6200
$L6363:
; Line 2795
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR $T11046[ebp], ecx
mov edx, DWORD PTR $T11046[ebp]
mov DWORD PTR $T11045[ebp], edx
cmp DWORD PTR $T11045[ebp], 0
je SHORT $L11047
push 1
mov ecx, DWORD PTR $T11045[ebp]
call ??_GSniperNoRun@@QAEPAXI@Z ; SniperNoRun::`scalar deleting destructor'
mov DWORD PTR -496+[ebp], eax
jmp SHORT $L11048
$L11047:
mov DWORD PTR -496+[ebp], 0
$L11048:
; Line 2796
jmp SHORT $L6200
$L6367:
; Line 2798
mov eax, DWORD PTR _id$[ebp]
push eax
push OFFSET FLAT:$SG6368
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
$L6200:
; Line 2801
mov esp, ebp
pop ebp
ret 8
$L11049:
DD $L6203
DD $L6207
DD $L6211
DD $L6215
DD $L6219
DD $L6223
DD $L6227
DD $L6227
DD $L6231
DD $L6235
DD $L6239
DD $L6243
DD $L6247
DD $L6251
DD $L6255
DD $L6259
DD $L6263
DD $L6267
DD $L6271
DD $L6275
DD $L6279
DD $L6283
DD $L6287
DD $L6291
DD $L6295
DD $L6299
DD $L6303
DD $L6307
DD $L6311
DD $L6315
DD $L6319
DD $L6323
DD $L6327
DD $L6331
DD $L6335
DD $L6339
DD $L6343
DD $L6347
DD $L6351
DD $L6355
DD $L6359
DD $L6363
_DestroyInstance@8 ENDP
_TEXT ENDS
PUBLIC ??1Pest@@QAE@XZ ; Pest::~Pest
EXTRN ??3@YAXPAX@Z:NEAR ; operator delete
; COMDAT ??_GPest@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GPest@@QAEPAXI@Z PROC NEAR ; Pest::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Pest@@QAE@XZ ; Pest::~Pest
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6412
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6412:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GPest@@QAEPAXI@Z ENDP ; Pest::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Stinger@@QAE@XZ ; Stinger::~Stinger
; COMDAT ??_GStinger@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GStinger@@QAEPAXI@Z PROC NEAR ; Stinger::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Stinger@@QAE@XZ ; Stinger::~Stinger
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6415
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6415:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GStinger@@QAEPAXI@Z ENDP ; Stinger::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Dragon@@QAE@XZ ; Dragon::~Dragon
; COMDAT ??_GDragon@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GDragon@@QAEPAXI@Z PROC NEAR ; Dragon::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Dragon@@QAE@XZ ; Dragon::~Dragon
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6418
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6418:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GDragon@@QAEPAXI@Z ENDP ; Dragon::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Tracker@@QAE@XZ ; Tracker::~Tracker
; COMDAT ??_GTracker@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GTracker@@QAEPAXI@Z PROC NEAR ; Tracker::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Tracker@@QAE@XZ ; Tracker::~Tracker
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6421
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6421:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GTracker@@QAEPAXI@Z ENDP ; Tracker::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Lance@@QAE@XZ ; Lance::~Lance
; COMDAT ??_GLance@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GLance@@QAEPAXI@Z PROC NEAR ; Lance::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Lance@@QAE@XZ ; Lance::~Lance
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6424
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6424:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GLance@@QAEPAXI@Z ENDP ; Lance::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Flak@@QAE@XZ ; Flak::~Flak
; COMDAT ??_GFlak@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GFlak@@QAEPAXI@Z PROC NEAR ; Flak::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Flak@@QAE@XZ ; Flak::~Flak
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6427
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6427:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GFlak@@QAEPAXI@Z ENDP ; Flak::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1SuperTrooper@@QAE@XZ ; SuperTrooper::~SuperTrooper
; COMDAT ??_GSuperTrooper@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSuperTrooper@@QAEPAXI@Z PROC NEAR ; SuperTrooper::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1SuperTrooper@@QAE@XZ ; SuperTrooper::~SuperTrooper
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6430
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6430:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSuperTrooper@@QAEPAXI@Z ENDP ; SuperTrooper::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Jugg@@QAE@XZ ; Jugg::~Jugg
; COMDAT ??_GJugg@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GJugg@@QAEPAXI@Z PROC NEAR ; Jugg::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Jugg@@QAE@XZ ; Jugg::~Jugg
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6433
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6433:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GJugg@@QAEPAXI@Z ENDP ; Jugg::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1SixGun@@QAE@XZ ; SixGun::~SixGun
; COMDAT ??_GSixGun@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSixGun@@QAEPAXI@Z PROC NEAR ; SixGun::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1SixGun@@QAE@XZ ; SixGun::~SixGun
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6436
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6436:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSixGun@@QAEPAXI@Z ENDP ; SixGun::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Sickle@@QAE@XZ ; Sickle::~Sickle
; COMDAT ??_GSickle@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSickle@@QAEPAXI@Z PROC NEAR ; Sickle::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Sickle@@QAE@XZ ; Sickle::~Sickle
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6439
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6439:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSickle@@QAEPAXI@Z ENDP ; Sickle::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1GuideBot@@QAE@XZ ; GuideBot::~GuideBot
; COMDAT ??_GGuideBot@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GGuideBot@@QAEPAXI@Z PROC NEAR ; GuideBot::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1GuideBot@@QAE@XZ ; GuideBot::~GuideBot
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6442
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6442:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GGuideBot@@QAEPAXI@Z ENDP ; GuideBot::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1FireAtDist@@QAE@XZ ; FireAtDist::~FireAtDist
; COMDAT ??_GFireAtDist@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GFireAtDist@@QAEPAXI@Z PROC NEAR ; FireAtDist::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1FireAtDist@@QAE@XZ ; FireAtDist::~FireAtDist
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6445
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6445:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GFireAtDist@@QAEPAXI@Z ENDP ; FireAtDist::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Tubbs@@QAE@XZ ; Tubbs::~Tubbs
; COMDAT ??_GTubbs@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GTubbs@@QAEPAXI@Z PROC NEAR ; Tubbs::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Tubbs@@QAE@XZ ; Tubbs::~Tubbs
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6448
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6448:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GTubbs@@QAEPAXI@Z ENDP ; Tubbs::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Thief@@QAE@XZ ; Thief::~Thief
; COMDAT ??_GThief@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GThief@@QAEPAXI@Z PROC NEAR ; Thief::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Thief@@QAE@XZ ; Thief::~Thief
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6451
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6451:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GThief@@QAEPAXI@Z ENDP ; Thief::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1GBPowerup@@QAE@XZ ; GBPowerup::~GBPowerup
; COMDAT ??_GGBPowerup@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GGBPowerup@@QAEPAXI@Z PROC NEAR ; GBPowerup::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1GBPowerup@@QAE@XZ ; GBPowerup::~GBPowerup
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6454
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6454:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GGBPowerup@@QAEPAXI@Z ENDP ; GBPowerup::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1BarnSwallow@@QAE@XZ ; BarnSwallow::~BarnSwallow
; COMDAT ??_GBarnSwallow@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GBarnSwallow@@QAEPAXI@Z PROC NEAR ; BarnSwallow::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BarnSwallow@@QAE@XZ ; BarnSwallow::~BarnSwallow
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6457
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6457:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GBarnSwallow@@QAEPAXI@Z ENDP ; BarnSwallow::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Sparky@@QAE@XZ ; Sparky::~Sparky
; COMDAT ??_GSparky@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSparky@@QAEPAXI@Z PROC NEAR ; Sparky::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Sparky@@QAE@XZ ; Sparky::~Sparky
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6460
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6460:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSparky@@QAEPAXI@Z ENDP ; Sparky::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1MantaRay@@QAE@XZ ; MantaRay::~MantaRay
; COMDAT ??_GMantaRay@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GMantaRay@@QAEPAXI@Z PROC NEAR ; MantaRay::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1MantaRay@@QAE@XZ ; MantaRay::~MantaRay
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6463
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6463:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GMantaRay@@QAEPAXI@Z ENDP ; MantaRay::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1SpyHunter@@QAE@XZ ; SpyHunter::~SpyHunter
; COMDAT ??_GSpyHunter@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSpyHunter@@QAEPAXI@Z PROC NEAR ; SpyHunter::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1SpyHunter@@QAE@XZ ; SpyHunter::~SpyHunter
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6466
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6466:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSpyHunter@@QAEPAXI@Z ENDP ; SpyHunter::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Sniper@@QAE@XZ ; Sniper::~Sniper
; COMDAT ??_GSniper@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSniper@@QAEPAXI@Z PROC NEAR ; Sniper::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Sniper@@QAE@XZ ; Sniper::~Sniper
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6469
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6469:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSniper@@QAEPAXI@Z ENDP ; Sniper::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Humonculous@@QAE@XZ ; Humonculous::~Humonculous
; COMDAT ??_GHumonculous@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GHumonculous@@QAEPAXI@Z PROC NEAR ; Humonculous::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Humonculous@@QAE@XZ ; Humonculous::~Humonculous
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6472
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6472:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GHumonculous@@QAEPAXI@Z ENDP ; Humonculous::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Seeker@@QAE@XZ ; Seeker::~Seeker
; COMDAT ??_GSeeker@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSeeker@@QAEPAXI@Z PROC NEAR ; Seeker::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Seeker@@QAE@XZ ; Seeker::~Seeker
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6475
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6475:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSeeker@@QAEPAXI@Z ENDP ; Seeker::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1BettyScript@@QAE@XZ ; BettyScript::~BettyScript
; COMDAT ??_GBettyScript@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GBettyScript@@QAEPAXI@Z PROC NEAR ; BettyScript::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BettyScript@@QAE@XZ ; BettyScript::~BettyScript
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6478
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6478:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GBettyScript@@QAEPAXI@Z ENDP ; BettyScript::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1ChaffScript@@QAE@XZ ; ChaffScript::~ChaffScript
; COMDAT ??_GChaffScript@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GChaffScript@@QAEPAXI@Z PROC NEAR ; ChaffScript::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ChaffScript@@QAE@XZ ; ChaffScript::~ChaffScript
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6481
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6481:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GChaffScript@@QAEPAXI@Z ENDP ; ChaffScript::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1ChaffChunkScript@@QAE@XZ ; ChaffChunkScript::~ChaffChunkScript
; COMDAT ??_GChaffChunkScript@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GChaffChunkScript@@QAEPAXI@Z PROC NEAR ; ChaffChunkScript::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ChaffChunkScript@@QAE@XZ ; ChaffChunkScript::~ChaffChunkScript
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6484
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6484:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GChaffChunkScript@@QAEPAXI@Z ENDP ; ChaffChunkScript::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1ProxMine@@QAE@XZ ; ProxMine::~ProxMine
; COMDAT ??_GProxMine@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GProxMine@@QAEPAXI@Z PROC NEAR ; ProxMine::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ProxMine@@QAE@XZ ; ProxMine::~ProxMine
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6487
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6487:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GProxMine@@QAEPAXI@Z ENDP ; ProxMine::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1BettyBomb@@QAE@XZ ; BettyBomb::~BettyBomb
; COMDAT ??_GBettyBomb@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GBettyBomb@@QAEPAXI@Z PROC NEAR ; BettyBomb::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BettyBomb@@QAE@XZ ; BettyBomb::~BettyBomb
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6490
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6490:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GBettyBomb@@QAEPAXI@Z ENDP ; BettyBomb::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1JoshBell@@QAE@XZ ; JoshBell::~JoshBell
; COMDAT ??_GJoshBell@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GJoshBell@@QAEPAXI@Z PROC NEAR ; JoshBell::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1JoshBell@@QAE@XZ ; JoshBell::~JoshBell
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6493
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6493:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GJoshBell@@QAEPAXI@Z ENDP ; JoshBell::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Skiff@@QAE@XZ ; Skiff::~Skiff
; COMDAT ??_GSkiff@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSkiff@@QAEPAXI@Z PROC NEAR ; Skiff::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Skiff@@QAE@XZ ; Skiff::~Skiff
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6496
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6496:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSkiff@@QAEPAXI@Z ENDP ; Skiff::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1ExplodeOnContact@@QAE@XZ ; ExplodeOnContact::~ExplodeOnContact
; COMDAT ??_GExplodeOnContact@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GExplodeOnContact@@QAEPAXI@Z PROC NEAR ; ExplodeOnContact::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ExplodeOnContact@@QAE@XZ ; ExplodeOnContact::~ExplodeOnContact
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6499
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6499:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GExplodeOnContact@@QAEPAXI@Z ENDP ; ExplodeOnContact::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1ExplodeTimeOut@@QAE@XZ ; ExplodeTimeOut::~ExplodeTimeOut
; COMDAT ??_GExplodeTimeOut@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GExplodeTimeOut@@QAEPAXI@Z PROC NEAR ; ExplodeTimeOut::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1ExplodeTimeOut@@QAE@XZ ; ExplodeTimeOut::~ExplodeTimeOut
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6502
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6502:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GExplodeTimeOut@@QAEPAXI@Z ENDP ; ExplodeTimeOut::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Gunboy@@QAE@XZ ; Gunboy::~Gunboy
; COMDAT ??_GGunboy@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GGunboy@@QAEPAXI@Z PROC NEAR ; Gunboy::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Gunboy@@QAE@XZ ; Gunboy::~Gunboy
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6505
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6505:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GGunboy@@QAEPAXI@Z ENDP ; Gunboy::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1DTower@@QAE@XZ ; DTower::~DTower
; COMDAT ??_GDTower@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GDTower@@QAEPAXI@Z PROC NEAR ; DTower::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1DTower@@QAE@XZ ; DTower::~DTower
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6508
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6508:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GDTower@@QAEPAXI@Z ENDP ; DTower::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1DCollector@@QAE@XZ ; DCollector::~DCollector
; COMDAT ??_GDCollector@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GDCollector@@QAEPAXI@Z PROC NEAR ; DCollector::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1DCollector@@QAE@XZ ; DCollector::~DCollector
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6511
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6511:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GDCollector@@QAEPAXI@Z ENDP ; DCollector::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1CBall@@QAE@XZ ; CBall::~CBall
; COMDAT ??_GCBall@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GCBall@@QAEPAXI@Z PROC NEAR ; CBall::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1CBall@@QAE@XZ ; CBall::~CBall
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6514
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6514:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GCBall@@QAEPAXI@Z ENDP ; CBall::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1Hellion@@QAE@XZ ; Hellion::~Hellion
; COMDAT ??_GHellion@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GHellion@@QAEPAXI@Z PROC NEAR ; Hellion::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1Hellion@@QAE@XZ ; Hellion::~Hellion
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6517
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6517:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GHellion@@QAEPAXI@Z ENDP ; Hellion::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1SuperThief@@QAE@XZ ; SuperThief::~SuperThief
; COMDAT ??_GSuperThief@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSuperThief@@QAEPAXI@Z PROC NEAR ; SuperThief::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1SuperThief@@QAE@XZ ; SuperThief::~SuperThief
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6520
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6520:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSuperThief@@QAEPAXI@Z ENDP ; SuperThief::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1EvaderModA@@QAE@XZ ; EvaderModA::~EvaderModA
; COMDAT ??_GEvaderModA@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GEvaderModA@@QAEPAXI@Z PROC NEAR ; EvaderModA::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1EvaderModA@@QAE@XZ ; EvaderModA::~EvaderModA
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6523
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6523:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GEvaderModA@@QAEPAXI@Z ENDP ; EvaderModA::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1DestroyOnContact@@QAE@XZ ; DestroyOnContact::~DestroyOnContact
; COMDAT ??_GDestroyOnContact@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GDestroyOnContact@@QAEPAXI@Z PROC NEAR ; DestroyOnContact::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1DestroyOnContact@@QAE@XZ ; DestroyOnContact::~DestroyOnContact
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6526
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6526:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GDestroyOnContact@@QAEPAXI@Z ENDP ; DestroyOnContact::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1HatePTMC@@QAE@XZ ; HatePTMC::~HatePTMC
; COMDAT ??_GHatePTMC@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GHatePTMC@@QAEPAXI@Z PROC NEAR ; HatePTMC::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1HatePTMC@@QAE@XZ ; HatePTMC::~HatePTMC
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6529
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6529:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GHatePTMC@@QAEPAXI@Z ENDP ; HatePTMC::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1SniperNoRun@@QAE@XZ ; SniperNoRun::~SniperNoRun
; COMDAT ??_GSniperNoRun@@QAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8
_this$ = -4
??_GSniperNoRun@@QAEPAXI@Z PROC NEAR ; SniperNoRun::`scalar deleting destructor', COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1SniperNoRun@@QAE@XZ ; SniperNoRun::~SniperNoRun
mov eax, DWORD PTR ___flags$[ebp]
and eax, 1
test eax, eax
je SHORT $L6532
mov ecx, DWORD PTR _this$[ebp]
push ecx
call ??3@YAXPAX@Z ; operator delete
add esp, 4
$L6532:
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 4
??_GSniperNoRun@@QAEPAXI@Z ENDP ; SniperNoRun::`scalar deleting destructor'
_TEXT ENDS
PUBLIC ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
; COMDAT ??1Pest@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Pest@@QAE@XZ PROC NEAR ; Pest::~Pest, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Pest@@QAE@XZ ENDP ; Pest::~Pest
_TEXT ENDS
; COMDAT ??1Stinger@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Stinger@@QAE@XZ PROC NEAR ; Stinger::~Stinger, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Stinger@@QAE@XZ ENDP ; Stinger::~Stinger
_TEXT ENDS
; COMDAT ??1Dragon@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Dragon@@QAE@XZ PROC NEAR ; Dragon::~Dragon, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Dragon@@QAE@XZ ENDP ; Dragon::~Dragon
_TEXT ENDS
; COMDAT ??1Tracker@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Tracker@@QAE@XZ PROC NEAR ; Tracker::~Tracker, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Tracker@@QAE@XZ ENDP ; Tracker::~Tracker
_TEXT ENDS
; COMDAT ??1Lance@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Lance@@QAE@XZ PROC NEAR ; Lance::~Lance, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Lance@@QAE@XZ ENDP ; Lance::~Lance
_TEXT ENDS
; COMDAT ??1Flak@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Flak@@QAE@XZ PROC NEAR ; Flak::~Flak, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Flak@@QAE@XZ ENDP ; Flak::~Flak
_TEXT ENDS
; COMDAT ??1SuperTrooper@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1SuperTrooper@@QAE@XZ PROC NEAR ; SuperTrooper::~SuperTrooper, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1SuperTrooper@@QAE@XZ ENDP ; SuperTrooper::~SuperTrooper
_TEXT ENDS
; COMDAT ??1Jugg@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Jugg@@QAE@XZ PROC NEAR ; Jugg::~Jugg, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Jugg@@QAE@XZ ENDP ; Jugg::~Jugg
_TEXT ENDS
; COMDAT ??1SixGun@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1SixGun@@QAE@XZ PROC NEAR ; SixGun::~SixGun, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1SixGun@@QAE@XZ ENDP ; SixGun::~SixGun
_TEXT ENDS
; COMDAT ??1Sickle@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Sickle@@QAE@XZ PROC NEAR ; Sickle::~Sickle, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Sickle@@QAE@XZ ENDP ; Sickle::~Sickle
_TEXT ENDS
; COMDAT ??1GuideBot@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1GuideBot@@QAE@XZ PROC NEAR ; GuideBot::~GuideBot, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1GuideBot@@QAE@XZ ENDP ; GuideBot::~GuideBot
_TEXT ENDS
; COMDAT ??1FireAtDist@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1FireAtDist@@QAE@XZ PROC NEAR ; FireAtDist::~FireAtDist, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1FireAtDist@@QAE@XZ ENDP ; FireAtDist::~FireAtDist
_TEXT ENDS
; COMDAT ??1Tubbs@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Tubbs@@QAE@XZ PROC NEAR ; Tubbs::~Tubbs, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Tubbs@@QAE@XZ ENDP ; Tubbs::~Tubbs
_TEXT ENDS
; COMDAT ??1Thief@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Thief@@QAE@XZ PROC NEAR ; Thief::~Thief, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Thief@@QAE@XZ ENDP ; Thief::~Thief
_TEXT ENDS
; COMDAT ??1GBPowerup@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1GBPowerup@@QAE@XZ PROC NEAR ; GBPowerup::~GBPowerup, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1GBPowerup@@QAE@XZ ENDP ; GBPowerup::~GBPowerup
_TEXT ENDS
; COMDAT ??1BarnSwallow@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1BarnSwallow@@QAE@XZ PROC NEAR ; BarnSwallow::~BarnSwallow, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1BarnSwallow@@QAE@XZ ENDP ; BarnSwallow::~BarnSwallow
_TEXT ENDS
; COMDAT ??1Sparky@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Sparky@@QAE@XZ PROC NEAR ; Sparky::~Sparky, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Sparky@@QAE@XZ ENDP ; Sparky::~Sparky
_TEXT ENDS
; COMDAT ??1MantaRay@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1MantaRay@@QAE@XZ PROC NEAR ; MantaRay::~MantaRay, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1MantaRay@@QAE@XZ ENDP ; MantaRay::~MantaRay
_TEXT ENDS
; COMDAT ??1SpyHunter@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1SpyHunter@@QAE@XZ PROC NEAR ; SpyHunter::~SpyHunter, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1SpyHunter@@QAE@XZ ENDP ; SpyHunter::~SpyHunter
_TEXT ENDS
; COMDAT ??1Sniper@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Sniper@@QAE@XZ PROC NEAR ; Sniper::~Sniper, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Sniper@@QAE@XZ ENDP ; Sniper::~Sniper
_TEXT ENDS
; COMDAT ??1Humonculous@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Humonculous@@QAE@XZ PROC NEAR ; Humonculous::~Humonculous, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Humonculous@@QAE@XZ ENDP ; Humonculous::~Humonculous
_TEXT ENDS
; COMDAT ??1Seeker@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Seeker@@QAE@XZ PROC NEAR ; Seeker::~Seeker, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Seeker@@QAE@XZ ENDP ; Seeker::~Seeker
_TEXT ENDS
; COMDAT ??1BettyScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1BettyScript@@QAE@XZ PROC NEAR ; BettyScript::~BettyScript, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1BettyScript@@QAE@XZ ENDP ; BettyScript::~BettyScript
_TEXT ENDS
; COMDAT ??1ChaffScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1ChaffScript@@QAE@XZ PROC NEAR ; ChaffScript::~ChaffScript, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1ChaffScript@@QAE@XZ ENDP ; ChaffScript::~ChaffScript
_TEXT ENDS
; COMDAT ??1ChaffChunkScript@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1ChaffChunkScript@@QAE@XZ PROC NEAR ; ChaffChunkScript::~ChaffChunkScript, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1ChaffChunkScript@@QAE@XZ ENDP ; ChaffChunkScript::~ChaffChunkScript
_TEXT ENDS
; COMDAT ??1ProxMine@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1ProxMine@@QAE@XZ PROC NEAR ; ProxMine::~ProxMine, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1ProxMine@@QAE@XZ ENDP ; ProxMine::~ProxMine
_TEXT ENDS
; COMDAT ??1BettyBomb@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1BettyBomb@@QAE@XZ PROC NEAR ; BettyBomb::~BettyBomb, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1BettyBomb@@QAE@XZ ENDP ; BettyBomb::~BettyBomb
_TEXT ENDS
; COMDAT ??1JoshBell@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1JoshBell@@QAE@XZ PROC NEAR ; JoshBell::~JoshBell, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1JoshBell@@QAE@XZ ENDP ; JoshBell::~JoshBell
_TEXT ENDS
; COMDAT ??1Skiff@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Skiff@@QAE@XZ PROC NEAR ; Skiff::~Skiff, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Skiff@@QAE@XZ ENDP ; Skiff::~Skiff
_TEXT ENDS
; COMDAT ??1ExplodeOnContact@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1ExplodeOnContact@@QAE@XZ PROC NEAR ; ExplodeOnContact::~ExplodeOnContact, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1ExplodeOnContact@@QAE@XZ ENDP ; ExplodeOnContact::~ExplodeOnContact
_TEXT ENDS
; COMDAT ??1ExplodeTimeOut@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1ExplodeTimeOut@@QAE@XZ PROC NEAR ; ExplodeTimeOut::~ExplodeTimeOut, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1ExplodeTimeOut@@QAE@XZ ENDP ; ExplodeTimeOut::~ExplodeTimeOut
_TEXT ENDS
; COMDAT ??1Gunboy@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Gunboy@@QAE@XZ PROC NEAR ; Gunboy::~Gunboy, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Gunboy@@QAE@XZ ENDP ; Gunboy::~Gunboy
_TEXT ENDS
; COMDAT ??1DTower@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1DTower@@QAE@XZ PROC NEAR ; DTower::~DTower, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1DTower@@QAE@XZ ENDP ; DTower::~DTower
_TEXT ENDS
; COMDAT ??1DCollector@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1DCollector@@QAE@XZ PROC NEAR ; DCollector::~DCollector, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1DCollector@@QAE@XZ ENDP ; DCollector::~DCollector
_TEXT ENDS
; COMDAT ??1CBall@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1CBall@@QAE@XZ PROC NEAR ; CBall::~CBall, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1CBall@@QAE@XZ ENDP ; CBall::~CBall
_TEXT ENDS
; COMDAT ??1Hellion@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1Hellion@@QAE@XZ PROC NEAR ; Hellion::~Hellion, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1Hellion@@QAE@XZ ENDP ; Hellion::~Hellion
_TEXT ENDS
; COMDAT ??1SuperThief@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1SuperThief@@QAE@XZ PROC NEAR ; SuperThief::~SuperThief, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1SuperThief@@QAE@XZ ENDP ; SuperThief::~SuperThief
_TEXT ENDS
; COMDAT ??1EvaderModA@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1EvaderModA@@QAE@XZ PROC NEAR ; EvaderModA::~EvaderModA, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1EvaderModA@@QAE@XZ ENDP ; EvaderModA::~EvaderModA
_TEXT ENDS
; COMDAT ??1DestroyOnContact@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1DestroyOnContact@@QAE@XZ PROC NEAR ; DestroyOnContact::~DestroyOnContact, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1DestroyOnContact@@QAE@XZ ENDP ; DestroyOnContact::~DestroyOnContact
_TEXT ENDS
; COMDAT ??1HatePTMC@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1HatePTMC@@QAE@XZ PROC NEAR ; HatePTMC::~HatePTMC, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1HatePTMC@@QAE@XZ ENDP ; HatePTMC::~HatePTMC
_TEXT ENDS
; COMDAT ??1SniperNoRun@@QAE@XZ
_TEXT SEGMENT
_this$ = -4
??1SniperNoRun@@QAE@XZ PROC NEAR ; SniperNoRun::~SniperNoRun, COMDAT
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov ecx, DWORD PTR _this$[ebp]
call ??1BaseObjScript@@QAE@XZ ; BaseObjScript::~BaseObjScript
mov esp, ebp
pop ebp
ret 0
??1SniperNoRun@@QAE@XZ ENDP ; SniperNoRun::~SniperNoRun
_TEXT ENDS
PUBLIC _CallInstanceEvent@16
_TEXT SEGMENT
_ptr$ = 12
_event$ = 16
_data$ = 20
_CallInstanceEvent@16 PROC NEAR
; Line 2804
push ebp
mov ebp, esp
; Line 2805
mov eax, DWORD PTR _data$[ebp]
push eax
mov ecx, DWORD PTR _event$[ebp]
push ecx
mov edx, DWORD PTR _ptr$[ebp]
mov eax, DWORD PTR [edx]
mov ecx, DWORD PTR _ptr$[ebp]
call DWORD PTR [eax]
; Line 2806
pop ebp
ret 16 ; 00000010H
_CallInstanceEvent@16 ENDP
_TEXT ENDS
PUBLIC ?Obj_GetObjDist@@YAMHH_N@Z ; Obj_GetObjDist
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_f_sub_rads$ = 16
_me_pos$ = -28
_it_pos$ = -16
_dist$ = -4
_size$6631 = -32
?Obj_GetObjDist@@YAMHH_N@Z PROC NEAR ; Obj_GetObjDist
; Line 2813
push ebp
mov ebp, esp
sub esp, 32 ; 00000020H
; Line 2818
push 0
lea eax, DWORD PTR _me_pos$[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2819
push 0
lea edx, DWORD PTR _it_pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2821
lea ecx, DWORD PTR _it_pos$[ebp]
push ecx
lea edx, DWORD PTR _me_pos$[ebp]
push edx
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dist$[ebp]
; Line 2823
mov eax, DWORD PTR _f_sub_rads$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L6630
; Line 2827
push 0
lea ecx, DWORD PTR _size$6631[ebp]
push ecx
push 11 ; 0000000bH
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2828
fld DWORD PTR _dist$[ebp]
fsub DWORD PTR _size$6631[ebp]
fstp DWORD PTR _dist$[ebp]
; Line 2829
push 0
lea eax, DWORD PTR _size$6631[ebp]
push eax
push 11 ; 0000000bH
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2830
fld DWORD PTR _dist$[ebp]
fsub DWORD PTR _size$6631[ebp]
fstp DWORD PTR _dist$[ebp]
$L6630:
; Line 2833
fld DWORD PTR _dist$[ebp]
; Line 2834
mov esp, ebp
pop ebp
ret 0
?Obj_GetObjDist@@YAMHH_N@Z ENDP ; Obj_GetObjDist
_TEXT ENDS
PUBLIC ?CallEvent@BaseObjScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; BaseObjScript::CallEvent
PUBLIC ??_7BaseObjScript@@6B@ ; BaseObjScript::`vftable'
; COMDAT ??_7BaseObjScript@@6B@
; File aigame.cpp
CONST SEGMENT
??_7BaseObjScript@@6B@ DD FLAT:?CallEvent@BaseObjScript@@UAEFHPAUtOSIRISEventInfo@@@Z ; BaseObjScript::`vftable'
CONST ENDS
_TEXT SEGMENT
_this$ = -4
??0BaseObjScript@@QAE@XZ PROC NEAR ; BaseObjScript::BaseObjScript
; File aigame.cpp
; Line 2856
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7BaseObjScript@@6B@ ; BaseObjScript::`vftable'
; Line 2857
mov eax, DWORD PTR _this$[ebp]
mov esp, ebp
pop ebp
ret 0
??0BaseObjScript@@QAE@XZ ENDP ; BaseObjScript::BaseObjScript
_this$ = -4
??1BaseObjScript@@QAE@XZ PROC NEAR ; BaseObjScript::~BaseObjScript
; Line 2860
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
mov eax, DWORD PTR _this$[ebp]
mov DWORD PTR [eax], OFFSET FLAT:??_7BaseObjScript@@6B@ ; BaseObjScript::`vftable'
; Line 2861
mov esp, ebp
pop ebp
ret 0
??1BaseObjScript@@QAE@XZ ENDP ; BaseObjScript::~BaseObjScript
_this$ = -4
?CallEvent@BaseObjScript@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; BaseObjScript::CallEvent
; Line 2864
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 2865
mov ax, 257 ; 00000101H
; Line 2866
mov esp, ebp
pop ebp
ret 8
?CallEvent@BaseObjScript@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; BaseObjScript::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@JoshBell@@AAEXH@Z ; JoshBell::DoInit
_DATA SEGMENT
ORG $+3
$SG6661 DB 'Bellbars', 00H
ORG $+3
$SG6662 DB 'Bell', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@JoshBell@@AAEXH@Z PROC NEAR ; JoshBell::DoInit
; Line 2873
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 2875
mov WORD PTR _ch$[ebp+8], 4
; Line 2876
mov DWORD PTR _ch$[ebp+12], 16 ; 00000010H
; Line 2877
mov DWORD PTR _ch$[ebp], 0
; Line 2878
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 2880
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 2882
push 0
push 1
push 0
push 0
push 11 ; 0000000bH
push OFFSET FLAT:$SG6661
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 2883
push OFFSET FLAT:$SG6662
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+12], eax
; Line 2884
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 2885
mov esp, ebp
pop ebp
ret 4
?DoInit@JoshBell@@AAEXH@Z ENDP ; JoshBell::DoInit
_TEXT ENDS
PUBLIC ?DoCollide@JoshBell@@AAEXH@Z ; JoshBell::DoCollide
_TEXT SEGMENT
_me$ = 8
_this$ = -8
_child_handle$ = -4
?DoCollide@JoshBell@@AAEXH@Z PROC NEAR ; JoshBell::DoCollide
; Line 2888
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 2889
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_GetAttachChildHandle@@3P6AHHD@ZA ; Obj_GetAttachChildHandle
add esp, 8
mov DWORD PTR _child_handle$[ebp], eax
; Line 2891
cmp DWORD PTR _child_handle$[ebp], -1
jne SHORT $L6668
; Line 2893
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 2894
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+12]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L6668:
; Line 2896
mov esp, ebp
pop ebp
ret 4
?DoCollide@JoshBell@@AAEXH@Z ENDP ; JoshBell::DoCollide
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@JoshBell@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; JoshBell::CallEvent
; Line 2899
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 2901
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 259 ; 00000103H
je SHORT $L6679
cmp DWORD PTR -8+[ebp], 260 ; 00000104H
je SHORT $L6678
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L6680
jmp SHORT $L6675
$L6678:
; Line 2903
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@JoshBell@@AAEXH@Z ; JoshBell::DoInit
; Line 2904
jmp SHORT $L6675
$L6679:
; Line 2906
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@JoshBell@@AAEXH@Z ; JoshBell::DoCollide
; Line 2907
jmp SHORT $L6675
$L6680:
; Line 2910
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L6675:
; Line 2915
mov ax, 257 ; 00000101H
; Line 2916
mov esp, ebp
pop ebp
ret 8
?CallEvent@JoshBell@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; JoshBell::CallEvent
_TEXT ENDS
PUBLIC ?DoCollide@ExplodeOnContact@@AAEXHH@Z ; ExplodeOnContact::DoCollide
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_this$ = -928
_type$ = -4
_mstruct$6689 = -924
?DoCollide@ExplodeOnContact@@AAEXHH@Z PROC NEAR ; ExplodeOnContact::DoCollide
; Line 2923
push ebp
mov ebp, esp
sub esp, 928 ; 000003a0H
mov DWORD PTR _this$[ebp], ecx
; Line 2925
push 0
lea eax, DWORD PTR _type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2927
cmp DWORD PTR _type$[ebp], 4
jne SHORT $L6688
; Line 2931
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$6689[ebp+44], edx
; Line 2932
mov DWORD PTR _mstruct$6689[ebp+100], -1
; Line 2933
mov BYTE PTR _mstruct$6689[ebp+96], 0
; Line 2934
mov DWORD PTR _mstruct$6689[ebp+92], 1148846080 ; 447a0000H
; Line 2936
lea eax, DWORD PTR _mstruct$6689[ebp]
push eax
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L6688:
; Line 2938
mov esp, ebp
pop ebp
ret 8
?DoCollide@ExplodeOnContact@@AAEXHH@Z ENDP ; ExplodeOnContact::DoCollide
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@ExplodeOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; ExplodeOnContact::CallEvent
; Line 2941
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 2943
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 259 ; 00000103H
je SHORT $L6699
jmp SHORT $L6696
$L6699:
; Line 2945
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@ExplodeOnContact@@AAEXHH@Z ; ExplodeOnContact::DoCollide
$L6696:
; Line 2948
mov ax, 257 ; 00000101H
; Line 2949
mov esp, ebp
pop ebp
ret 8
?CallEvent@ExplodeOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; ExplodeOnContact::CallEvent
_TEXT ENDS
PUBLIC ?DoCollide@DestroyOnContact@@AAEXHH@Z ; DestroyOnContact::DoCollide
_TEXT SEGMENT
_it$ = 12
_this$ = -8
_type$ = -4
?DoCollide@DestroyOnContact@@AAEXHH@Z PROC NEAR ; DestroyOnContact::DoCollide
; Line 2957
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 2959
push 0
lea eax, DWORD PTR _type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 2961
cmp DWORD PTR _type$[ebp], 16 ; 00000010H
je SHORT $L6707
cmp DWORD PTR _type$[ebp], 2
je SHORT $L6707
cmp DWORD PTR _type$[ebp], 11 ; 0000000bH
je SHORT $L6707
cmp DWORD PTR _type$[ebp], 4
jne SHORT $L6706
$L6707:
; Line 2963
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L6706:
; Line 2965
mov esp, ebp
pop ebp
ret 8
?DoCollide@DestroyOnContact@@AAEXHH@Z ENDP ; DestroyOnContact::DoCollide
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@DestroyOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; DestroyOnContact::CallEvent
; Line 2968
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 2970
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 259 ; 00000103H
je SHORT $L6717
jmp SHORT $L6714
$L6717:
; Line 2972
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@DestroyOnContact@@AAEXHH@Z ; DestroyOnContact::DoCollide
$L6714:
; Line 2975
mov ax, 257 ; 00000101H
; Line 2976
mov esp, ebp
pop ebp
ret 8
?CallEvent@DestroyOnContact@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; DestroyOnContact::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Pest@@AAEXH@Z ; Pest::DoInit
_DATA SEGMENT
ORG $+3
$SG6725 DB 'Pesttail', 00H
ORG $+3
$SG6726 DB 'RbtPestFoot1', 00H
ORG $+3
$SG6727 DB 'RbtPestFoot2', 00H
ORG $+3
$SG6728 DB 'RbtPestFoot3', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Pest@@AAEXH@Z PROC NEAR ; Pest::DoInit
; Line 2984
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 2986
mov WORD PTR _ch$[ebp+8], 4
; Line 2987
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 2988
mov DWORD PTR _ch$[ebp], 0
; Line 2989
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 2991
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 2993
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG6725
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 2994
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 2996
push OFFSET FLAT:$SG6726
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+8], eax
; Line 2997
push OFFSET FLAT:$SG6727
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+12], eax
; Line 2998
push OFFSET FLAT:$SG6728
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+16], eax
; Line 3000
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3001
mov esp, ebp
pop ebp
ret 4
?DoInit@Pest@@AAEXH@Z ENDP ; Pest::DoInit
_TEXT ENDS
PUBLIC __real@4@40029000000000000000
PUBLIC __real@4@4002d000000000000000
; COMDAT __real@4@40029000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@40029000000000000000 DD 041100000r ; 9
CONST ENDS
; COMDAT __real@4@4002d000000000000000
CONST SEGMENT
__real@4@4002d000000000000000 DD 041500000r ; 13
CONST ENDS
_TEXT SEGMENT
_event$ = 8
_data$ = 12
_this$ = -932
_frame$6740 = -4
_index$6745 = -8
_mstruct$6747 = -928
?CallEvent@Pest@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Pest::CallEvent
; File aigame.cpp
; Line 3004
push ebp
mov ebp, esp
sub esp, 936 ; 000003a8H
mov DWORD PTR _this$[ebp], ecx
; Line 3006
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -936+[ebp], eax
mov ecx, DWORD PTR -936+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -936+[ebp], ecx
cmp DWORD PTR -936+[ebp], 24 ; 00000018H
ja $L6735
mov eax, DWORD PTR -936+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11150[eax]
jmp DWORD PTR $L11151[edx*4]
$L6738:
; Line 3008
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Pest@@AAEXH@Z ; Pest::DoInit
; Line 3009
jmp $L6735
$L6739:
; Line 3013
push 0
lea eax, DWORD PTR _frame$6740[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3016
fld DWORD PTR _frame$6740[ebp]
fcomp DWORD PTR __real@4@40029000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6743
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@40029000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6742
$L6743:
fld DWORD PTR _frame$6740[ebp]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6744
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6742
$L6744:
fld DWORD PTR _frame$6740[ebp]
fcomp DWORD PTR __real@4@4002d000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6741
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+4]
fcomp DWORD PTR __real@4@4002d000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L6741
$L6742:
; Line 3018
call _rand
cdq
mov ecx, 3
idiv ecx
mov DWORD PTR _index$6745[ebp], edx
; Line 3020
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _index$6745[ebp]
mov edx, DWORD PTR [eax+ecx*4+8]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L6741:
; Line 3023
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _frame$6740[ebp]
mov DWORD PTR [eax+4], ecx
; Line 3025
jmp SHORT $L6735
$L6746:
; Line 3030
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
mov DWORD PTR _mstruct$6747[ebp+44], ecx
; Line 3031
mov DWORD PTR _mstruct$6747[ebp+100], -1
; Line 3032
mov BYTE PTR _mstruct$6747[ebp+96], 0
; Line 3033
mov DWORD PTR _mstruct$6747[ebp+92], 1148846080 ; 447a0000H
; Line 3035
lea edx, DWORD PTR _mstruct$6747[ebp]
push edx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 3037
jmp SHORT $L6735
$L6748:
; Line 3041
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
$L6735:
; Line 3045
mov ax, 257 ; 00000101H
; Line 3046
mov esp, ebp
pop ebp
ret 8
$L11151:
DD $L6739
DD $L6746
DD $L6738
DD $L6748
DD $L6735
$L11150:
DB 0
DB 4
DB 4
DB 4
DB 1
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Pest@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Pest::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Stinger@@AAEXH@Z ; Stinger::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -940
_ch$ = -16
_m$ = -936
?DoInit@Stinger@@AAEXH@Z PROC NEAR ; Stinger::DoInit
; Line 3055
push ebp
mov ebp, esp
sub esp, 956 ; 000003bcH
mov DWORD PTR _this$[ebp], ecx
; Line 3057
mov WORD PTR _ch$[ebp+8], 4
; Line 3058
mov DWORD PTR _ch$[ebp+12], 12 ; 0000000cH
; Line 3059
mov DWORD PTR _ch$[ebp], 0
; Line 3060
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 3062
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 3065
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 3066
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 3068
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -944+[ebp]
call _rand
mov DWORD PTR -948+[ebp], eax
fild DWORD PTR -948+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -944+[ebp]
fadd DWORD PTR __real@4@4000c000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax]
; Line 3069
fld DWORD PTR _m$[ebp+52]
fdiv DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -952+[ebp]
call _rand
mov DWORD PTR -956+[ebp], eax
fild DWORD PTR -956+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR _m$[ebp+52]
fdiv DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR -952+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 3070
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+8], 0
; Line 3071
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+9], 0
; Line 3073
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3074
mov esp, ebp
pop ebp
ret 4
?DoInit@Stinger@@AAEXH@Z ENDP ; Stinger::DoInit
_TEXT ENDS
PUBLIC __real@4@4004c800000000000000
PUBLIC ?DoInterval@Stinger@@AAEXH@Z ; Stinger::DoInterval
; COMDAT __real@4@4004c800000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4004c800000000000000 DD 042480000r ; 50
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -936
_f_force_melee$ = -8
_target_handle$ = -4
_m$ = -928
_dist$6771 = -932
?DoInterval@Stinger@@AAEXH@Z PROC NEAR ; Stinger::DoInterval
; File aigame.cpp
; Line 3077
push ebp
mov ebp, esp
sub esp, 948 ; 000003b4H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 3078
mov BYTE PTR _f_force_melee$[ebp], 0
; Line 3082
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 3083
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 3085
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _m$[ebp+52]
fcomp DWORD PTR [eax+4]
fnstsw ax
test ah, 1
je SHORT $L11154
mov DWORD PTR -940+[ebp], 1
jmp SHORT $L11155
$L11154:
mov DWORD PTR -940+[ebp], 0
$L11155:
xor ecx, ecx
cmp DWORD PTR -940+[ebp], 0
setne cl
mov BYTE PTR _f_force_melee$[ebp], cl
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _f_force_melee$[ebp]
mov BYTE PTR [eax+9], cl
; Line 3087
mov edx, DWORD PTR _f_force_melee$[ebp]
and edx, 255 ; 000000ffH
test edx, edx
jne SHORT $L6772
; Line 3089
lea eax, DWORD PTR _target_handle$[ebp]
push eax
push 19 ; 00000013H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3091
cmp DWORD PTR _target_handle$[ebp], -1
je SHORT $L6772
; Line 3094
lea edx, DWORD PTR _dist$6771[ebp]
push edx
push 21 ; 00000015H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3096
fld DWORD PTR _dist$6771[ebp]
fcomp DWORD PTR __real@4@4004c800000000000000
fnstsw ax
test ah, 1
je SHORT $L6772
; Line 3098
mov BYTE PTR _f_force_melee$[ebp], 1
$L6772:
; Line 3103
mov ecx, DWORD PTR _f_force_melee$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne $L6773
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi]
fnstsw ax
test ah, 65 ; 00000041H
jne $L6773
; Line 3105
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001e000000000000000
fstp DWORD PTR -944+[ebp]
call _rand
mov DWORD PTR -948+[ebp], eax
fild DWORD PTR -948+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -944+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx]
; Line 3107
call _rand
cdq
mov ecx, 150 ; 00000096H
idiv ecx
cmp edx, 10 ; 0000000aH
jle SHORT $L6776
; Line 3109
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+8]
cmp ecx, 1
jne SHORT $L6777
; Line 3111
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3112
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+8], 0
$L6777:
; Line 3115
jmp SHORT $L6779
$L6776:
; Line 3117
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+8]
test ecx, ecx
jne SHORT $L6779
; Line 3119
push 6
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3120
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+8], 1
$L6779:
; Line 3124
jmp SHORT $L6781
$L6773:
mov edx, DWORD PTR _f_force_melee$[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L6781
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+8]
cmp edx, 1
je SHORT $L6781
; Line 3127
push 6
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3128
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+8], 1
$L6781:
; Line 3130
pop esi
mov esp, ebp
pop ebp
ret 4
?DoInterval@Stinger@@AAEXH@Z ENDP ; Stinger::DoInterval
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Stinger@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Stinger::CallEvent
; Line 3133
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 3135
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 257 ; 00000101H
je SHORT $L6792
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L6791
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L6793
jmp SHORT $L6788
$L6791:
; Line 3137
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Stinger@@AAEXH@Z ; Stinger::DoInit
; Line 3138
jmp SHORT $L6788
$L6792:
; Line 3140
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInterval@Stinger@@AAEXH@Z ; Stinger::DoInterval
; Line 3141
jmp SHORT $L6788
$L6793:
; Line 3144
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L6788:
; Line 3149
mov ax, 257 ; 00000101H
; Line 3150
mov esp, ebp
pop ebp
ret 8
?CallEvent@Stinger@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Stinger::CallEvent
_TEXT ENDS
PUBLIC ?DetermineDeathPos@Humonculous@@AAEXHPAUvector@@PAH@Z ; Humonculous::DetermineDeathPos
_DATA SEGMENT
ORG $+3
$SG6808 DB 'SafeDeath01', 00H
$SG6809 DB 'SafeDeath01', 00H
$SG6810 DB 'SafeDeath02', 00H
$SG6811 DB 'SafeDeath02', 00H
$SG6812 DB 'SafeDeath03', 00H
$SG6813 DB 'SafeDeath03', 00H
$SG6814 DB 'SafeDeath04', 00H
$SG6815 DB 'SafeDeath04', 00H
$SG6816 DB 'SafeDeath05', 00H
$SG6817 DB 'SafeDeath05', 00H
$SG6818 DB 'SafeDeath06', 00H
$SG6819 DB 'SafeDeath06', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_dpos$ = 12
_droom$ = 16
_this$ = -128
_best_dist$ = -4
_dp$ = -76
_dr$ = -100
_i$ = -104
_mpos$ = -116
_cur_dist$6823 = -124
?DetermineDeathPos@Humonculous@@AAEXHPAUvector@@PAH@Z PROC NEAR ; Humonculous::DetermineDeathPos
; Line 3213
push ebp
mov ebp, esp
sub esp, 128 ; 00000080H
mov DWORD PTR _this$[ebp], ecx
; Line 3214
mov DWORD PTR _best_dist$[ebp], 1287568416 ; 4cbebc20H
; Line 3221
push 0
lea eax, DWORD PTR _mpos$[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3223
push 0
lea edx, DWORD PTR _dp$[ebp]
push edx
push 3
push 1
push OFFSET FLAT:$SG6808
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3224
push 0
lea eax, DWORD PTR _dr$[ebp]
push eax
push 5
push 1
push OFFSET FLAT:$SG6809
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3225
push 0
lea ecx, DWORD PTR _dp$[ebp+12]
push ecx
push 3
push 1
push OFFSET FLAT:$SG6810
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3226
push 0
lea edx, DWORD PTR _dr$[ebp+4]
push edx
push 5
push 1
push OFFSET FLAT:$SG6811
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3227
push 0
lea eax, DWORD PTR _dp$[ebp+24]
push eax
push 3
push 1
push OFFSET FLAT:$SG6812
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3228
push 0
lea ecx, DWORD PTR _dr$[ebp+8]
push ecx
push 5
push 1
push OFFSET FLAT:$SG6813
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3229
push 0
lea edx, DWORD PTR _dp$[ebp+36]
push edx
push 3
push 1
push OFFSET FLAT:$SG6814
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3230
push 0
lea eax, DWORD PTR _dr$[ebp+12]
push eax
push 5
push 1
push OFFSET FLAT:$SG6815
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3231
push 0
lea ecx, DWORD PTR _dp$[ebp+48]
push ecx
push 3
push 1
push OFFSET FLAT:$SG6816
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3232
push 0
lea edx, DWORD PTR _dr$[ebp+16]
push edx
push 5
push 1
push OFFSET FLAT:$SG6817
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3233
push 0
lea eax, DWORD PTR _dp$[ebp+60]
push eax
push 3
push 1
push OFFSET FLAT:$SG6818
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3234
push 0
lea ecx, DWORD PTR _dr$[ebp+20]
push ecx
push 5
push 1
push OFFSET FLAT:$SG6819
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3236
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L6820
$L6821:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L6820:
cmp DWORD PTR _i$[ebp], 6
jge SHORT $L6822
; Line 3238
mov eax, DWORD PTR _i$[ebp]
imul eax, 12 ; 0000000cH
mov DWORD PTR _dp$[ebp+eax+4], -1008992256 ; c3dc0000H
; Line 3240
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
lea edx, DWORD PTR _dp$[ebp+ecx]
push edx
lea eax, DWORD PTR _mpos$[ebp]
push eax
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _cur_dist$6823[ebp]
; Line 3242
fld DWORD PTR _cur_dist$6823[ebp]
fcomp DWORD PTR _best_dist$[ebp]
fnstsw ax
test ah, 1
je SHORT $L6824
; Line 3244
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
lea edx, DWORD PTR _dp$[ebp+ecx]
mov eax, DWORD PTR _dpos$[ebp]
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
; Line 3245
mov eax, DWORD PTR _droom$[ebp]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _dr$[ebp+ecx*4]
mov DWORD PTR [eax], edx
; Line 3246
mov eax, DWORD PTR _cur_dist$6823[ebp]
mov DWORD PTR _best_dist$[ebp], eax
$L6824:
; Line 3248
jmp SHORT $L6821
$L6822:
; Line 3249
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
?DetermineDeathPos@Humonculous@@AAEXHPAUvector@@PAH@Z ENDP ; Humonculous::DetermineDeathPos
_TEXT ENDS
PUBLIC ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
PUBLIC ?DoNotify@Humonculous@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Humonculous::DoNotify
_DATA SEGMENT
$SG6840 DB 'RbtHmclIWallHit', 00H
$SG6849 DB 'RbtHmclFakeDeath', 00H
ORG $+3
$SG6852 DB 'RbtHmclDeath', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -40
_uvec$6843 = -12
_vel$6848 = -24
_vel$6851 = -36
?DoNotify@Humonculous@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Humonculous::DoNotify
; Line 3252
push ebp
mov ebp, esp
sub esp, 44 ; 0000002cH
mov DWORD PTR _this$[ebp], ecx
; Line 3254
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dx, WORD PTR [ecx+24]
mov DWORD PTR -44+[ebp], edx
cmp DWORD PTR -44+[ebp], 16 ; 00000010H
jg SHORT $L11161
cmp DWORD PTR -44+[ebp], 16 ; 00000010H
je SHORT $L6838
cmp DWORD PTR -44+[ebp], 1
je SHORT $L6834
cmp DWORD PTR -44+[ebp], 2
je SHORT $L6836
jmp $L6831
$L11161:
cmp DWORD PTR -44+[ebp], 64 ; 00000040H
je $L6841
cmp DWORD PTR -44+[ebp], 512 ; 00000200H
je $L6841
jmp $L6831
$L6834:
; Line 3257
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax], 27 ; 0000001bH
jne SHORT $L6835
; Line 3259
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6835:
; Line 3262
jmp $L6831
$L6836:
; Line 3266
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx], 28 ; 0000001cH
jne SHORT $L6837
; Line 3268
push 8
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6837:
; Line 3271
jmp $L6831
$L6838:
; Line 3275
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx], 9
jne SHORT $L6839
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx+12], 43 ; 0000002bH
jne SHORT $L6839
; Line 3277
push 0
push OFFSET FLAT:$SG6840
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 2
push 1082130432 ; 40800000H
push 1123680256 ; 42fa0000H
push 1120534528 ; 42ca0000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L6839:
; Line 3281
jmp $L6831
$L6841:
; Line 3286
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx], 26 ; 0000001aH
jne SHORT $L6845
; Line 3288
mov edx, DWORD PTR _Zero_vector
mov DWORD PTR _uvec$6843[ebp], edx
mov eax, DWORD PTR _Zero_vector+4
mov DWORD PTR _uvec$6843[ebp+4], eax
mov ecx, DWORD PTR _Zero_vector+8
mov DWORD PTR _uvec$6843[ebp+8], ecx
; Line 3289
mov DWORD PTR _uvec$6843[ebp+4], 1065353216 ; 3f800000H
; Line 3291
lea edx, DWORD PTR _uvec$6843[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 40 ; 00000028H
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_TurnTowardsVectors@@3P6AEHPAUvector@@0@ZA ; AI_TurnTowardsVectors
add esp, 12 ; 0000000cH
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L6844
; Line 3292
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
or dl, 16 ; 00000010H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
; Line 3293
jmp SHORT $L6845
$L6844:
; Line 3294
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cx, WORD PTR [eax+96]
and cl, -17 ; ffffffefH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], cx
$L6845:
; Line 3297
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx], 9
jne SHORT $L6846
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx+12], 43 ; 0000002bH
jne SHORT $L6846
; Line 3299
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
or dl, 8
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
$L6846:
; Line 3302
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx], 9
jne $L6847
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax+12], 190 ; 000000beH
jne SHORT $L6847
; Line 3304
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ax, WORD PTR [edx+96]
or ah, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+96], ax
; Line 3305
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 3307
mov DWORD PTR _vel$6848[ebp], 0
mov DWORD PTR _vel$6848[ebp+4], 0
mov DWORD PTR _vel$6848[ebp+8], 0
; Line 3308
push 0
lea edx, DWORD PTR _vel$6848[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3310
push -1
push OFFSET FLAT:$SG6849
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 0
push 1086324736 ; 40c00000H
push 1129447424 ; 43520000H
push 1126629376 ; 43270000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L6847:
; Line 3313
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx], 9
jne $L6850
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax+12], 34 ; 00000022H
jne SHORT $L6850
; Line 3315
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ax, WORD PTR [edx+96]
or ah, 8
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+96], ax
; Line 3316
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 3318
mov DWORD PTR _vel$6851[ebp], 0
mov DWORD PTR _vel$6851[ebp+4], 0
mov DWORD PTR _vel$6851[ebp+8], 0
; Line 3319
push 0
lea edx, DWORD PTR _vel$6851[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3321
push -1
push OFFSET FLAT:$SG6852
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 0
push 1097859072 ; 41700000H
push 1135542272 ; 43af0000H
push 1131544576 ; 43720000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L6850:
$L6831:
; Line 3327
mov al, 1
; Line 3328
mov esp, ebp
pop ebp
ret 8
?DoNotify@Humonculous@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; Humonculous::DoNotify
_TEXT ENDS
PUBLIC ??D@YA?AUvector@@MU0@@Z ; operator*
PUBLIC __real@8@bffef333333333333000
_DATA SEGMENT
ORG $+3
$SG6903 DB 'RbtHmclMidTaunt', 00H
$SG6909 DB 'RbtHmclFakeGetUp', 00H
ORG $+3
$SG6920 DB 'WHAT ARE YOU DOING!!!!!!!!!!!!!', 00H
_DATA ENDS
; COMDAT __real@8@bffef333333333333000
; File aigame.cpp
CONST SEGMENT
__real@8@bffef333333333333000 DQ 0bfee666666666666r ; -0.95
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -1372
_new_mode_index$ = -12
_old_mode_index$ = -4
_temp$ = -8
_flags$6868 = -16
_flags$6871 = -20
_flags$6882 = -36
_start_pos$6883 = -156
_start_room$6884 = -84
_end_pos$6885 = -32
_ray$6886 = -144
_orient$6887 = -80
_fate$6892 = -44
_dist$6900 = -40
_flags$6902 = -160
_flags$6905 = -164
_dpos$6906 = -176
_droom$6907 = -180
_flags$6911 = -184
_m$6912 = -1104
_flags$6914 = -1108
_circle_dist$6915 = -1112
_dpos$6916 = -1124
_droom$6917 = -1128
$T11163 = -1140
$T11164 = -1152
$T11165 = -1164
$T11166 = -1176
$T11167 = -1188
$T11168 = -1200
$T11169 = -1212
$T11170 = -1224
$T11171 = -1236
$T11172 = -1248
$T11173 = -1260
$T11174 = -1272
$T11175 = -1284
$T11176 = -1296
$T11177 = -1308
$T11178 = -1320
$T11179 = -1332
$T11180 = -1344
$T11181 = -1356
$T11182 = -1368
?SetMode@Humonculous@@AAE_NHG@Z PROC NEAR ; Humonculous::SetMode
; File aigame.cpp
; Line 3331
push ebp
mov ebp, esp
sub esp, 1376 ; 00000560H
mov DWORD PTR _this$[ebp], ecx
; Line 3332
mov DWORD PTR _new_mode_index$[ebp], -1
; Line 3333
mov DWORD PTR _old_mode_index$[ebp], -1
; Line 3335
mov eax, DWORD PTR _mode$[ebp]
and eax, 65535 ; 0000ffffH
mov DWORD PTR _temp$[ebp], eax
$L6861:
; Line 3340
mov ecx, DWORD PTR _temp$[ebp]
sar ecx, 1
mov DWORD PTR _temp$[ebp], ecx
; Line 3341
mov edx, DWORD PTR _new_mode_index$[ebp]
add edx, 1
mov DWORD PTR _new_mode_index$[ebp], edx
; Line 3343
cmp DWORD PTR _temp$[ebp], 0
jne SHORT $L6861
; Line 3345
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dx, WORD PTR [ecx+24]
mov DWORD PTR _temp$[ebp], edx
$L6864:
; Line 3348
mov eax, DWORD PTR _temp$[ebp]
sar eax, 1
mov DWORD PTR _temp$[ebp], eax
; Line 3349
mov ecx, DWORD PTR _old_mode_index$[ebp]
add ecx, 1
mov DWORD PTR _old_mode_index$[ebp], ecx
; Line 3351
cmp DWORD PTR _temp$[ebp], 0
jne SHORT $L6864
; Line 3354
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cx, WORD PTR [eax+24]
cmp ecx, 16 ; 00000010H
jne $L6867
; Line 3356
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4002f000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax]
; Line 3357
mov DWORD PTR _flags$6868[ebp], 25165824 ; 01800000H
; Line 3358
lea ecx, DWORD PTR _flags$6868[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3359
mov DWORD PTR _flags$6868[ebp], 256 ; 00000100H
; Line 3360
lea eax, DWORD PTR _flags$6868[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3362
mov DWORD PTR _flags$6868[ebp], 262144 ; 00040000H
; Line 3363
push 0
lea edx, DWORD PTR _flags$6868[ebp]
push edx
push 16 ; 00000010H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3365
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ax, WORD PTR [edx+96]
and al, 95 ; 0000005fH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+96], ax
; Line 3367
jmp SHORT $L6870
$L6867:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dx, WORD PTR [ecx+24]
cmp edx, 32 ; 00000020H
jne SHORT $L6870
; Line 3369
mov DWORD PTR _flags$6871[ebp], 25165824 ; 01800000H
; Line 3370
lea eax, DWORD PTR _flags$6871[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3371
mov DWORD PTR _flags$6871[ebp], 256 ; 00000100H
; Line 3372
lea edx, DWORD PTR _flags$6871[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L6870:
; Line 3376
mov ecx, DWORD PTR _old_mode_index$[ebp]
movsx edx, WORD PTR _hm_valid_next_modes[ecx*2]
mov eax, DWORD PTR _mode$[ebp]
and eax, 65535 ; 0000ffffH
and edx, eax
test edx, edx
jne SHORT $L6872
; Line 3377
xor al, al
jmp $L6857
$L6872:
; Line 3380
push 5
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3383
mov edx, DWORD PTR _mode$[ebp]
and edx, 65535 ; 0000ffffH
mov DWORD PTR -1376+[ebp], edx
cmp DWORD PTR -1376+[ebp], 32 ; 00000020H
jg SHORT $L11183
cmp DWORD PTR -1376+[ebp], 32 ; 00000020H
je $L6901
mov eax, DWORD PTR -1376+[ebp]
sub eax, 1
mov DWORD PTR -1376+[ebp], eax
cmp DWORD PTR -1376+[ebp], 15 ; 0000000fH
ja $L6919
mov edx, DWORD PTR -1376+[ebp]
xor ecx, ecx
mov cl, BYTE PTR $L11187[edx]
jmp DWORD PTR $L11188[ecx*4]
$L11183:
cmp DWORD PTR -1376+[ebp], 256 ; 00000100H
jg SHORT $L11184
cmp DWORD PTR -1376+[ebp], 256 ; 00000100H
je $L6910
cmp DWORD PTR -1376+[ebp], 64 ; 00000040H
je $L6904
cmp DWORD PTR -1376+[ebp], 128 ; 00000080H
je $L6908
jmp $L6919
$L11184:
cmp DWORD PTR -1376+[ebp], 512 ; 00000200H
je $L6913
cmp DWORD PTR -1376+[ebp], 1024 ; 00000400H
je $L6918
jmp $L6919
$L6877:
; Line 3387
jmp $L6874
$L6878:
; Line 3391
jmp $L6874
$L6879:
; Line 3394
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3396
jmp $L6874
$L6880:
; Line 3399
push 6
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3401
jmp $L6874
$L6881:
; Line 3404
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cx, WORD PTR [eax+96]
or ch, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], cx
; Line 3406
mov DWORD PTR _flags$6882[ebp], 25165824 ; 01800000H
; Line 3407
lea ecx, DWORD PTR _flags$6882[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3408
mov DWORD PTR _flags$6882[ebp], 256 ; 00000100H
; Line 3409
lea eax, DWORD PTR _flags$6882[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3418
push 0
lea edx, DWORD PTR _orient$6887[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3420
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 40 ; 00000028H
mov eax, DWORD PTR _orient$6887[ebp+24]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _orient$6887[ebp+28]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _orient$6887[ebp+32]
mov DWORD PTR [edx+8], eax
; Line 3421
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+44], 0
; Line 3422
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 40 ; 00000028H
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 3423
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 40 ; 00000028H
mov ecx, DWORD PTR [eax]
mov DWORD PTR _orient$6887[ebp+24], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR _orient$6887[ebp+28], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR _orient$6887[ebp+32], eax
; Line 3425
lea ecx, DWORD PTR _orient$6887[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 3427
push 0
lea edx, DWORD PTR _start_pos$6883[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3428
push 0
lea ecx, DWORD PTR _start_room$6884[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3431
mov eax, DWORD PTR _start_pos$6883[ebp]
mov DWORD PTR _end_pos$6885[ebp], eax
mov ecx, DWORD PTR _start_pos$6883[ebp+4]
mov DWORD PTR _end_pos$6885[ebp+4], ecx
mov edx, DWORD PTR _start_pos$6883[ebp+8]
mov DWORD PTR _end_pos$6885[ebp+8], edx
; Line 3432
push 1105723392 ; 41e80000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$6887[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$6887[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$6887[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11165[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11164[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11164[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11164[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11164[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11164[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11164[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _end_pos$6885[ebp]
push eax
lea ecx, DWORD PTR $T11166[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11163[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11163[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11163[ebp+8], edx
; Line 3433
push 1107614761 ; 4204dc29H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$6887[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$6887[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$6887[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11169[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11168[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11168[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11168[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11168[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11168[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11168[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _end_pos$6885[ebp]
push eax
lea ecx, DWORD PTR $T11170[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11167[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11167[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11167[ebp+8], edx
; Line 3435
mov DWORD PTR _flags$6882[ebp], 1049353 ; 00100309H
; Line 3436
lea eax, DWORD PTR _ray$6886[ebp]
push eax
mov ecx, DWORD PTR _flags$6882[ebp]
push ecx
push 0
mov edx, DWORD PTR _start_room$6884[ebp]
push edx
lea eax, DWORD PTR _end_pos$6885[ebp]
push eax
lea ecx, DWORD PTR _start_pos$6883[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$6892[ebp], eax
; Line 3438
mov eax, DWORD PTR _ray$6886[ebp+8]
mov DWORD PTR _end_pos$6885[ebp], eax
mov ecx, DWORD PTR _ray$6886[ebp+12]
mov DWORD PTR _end_pos$6885[ebp+4], ecx
mov edx, DWORD PTR _ray$6886[ebp+16]
mov DWORD PTR _end_pos$6885[ebp+8], edx
mov eax, DWORD PTR _end_pos$6885[ebp]
mov DWORD PTR _start_pos$6883[ebp], eax
mov ecx, DWORD PTR _end_pos$6885[ebp+4]
mov DWORD PTR _start_pos$6883[ebp+4], ecx
mov edx, DWORD PTR _end_pos$6885[ebp+8]
mov DWORD PTR _start_pos$6883[ebp+8], edx
; Line 3439
mov eax, DWORD PTR _ray$6886[ebp+4]
mov DWORD PTR _start_room$6884[ebp], eax
; Line 3441
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$6887[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$6887[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$6887[ebp+8]
mov DWORD PTR [ecx+8], edx
push 1167867904 ; 459c4000H
lea eax, DWORD PTR $T11173[ebp]
push eax
call ??D@YA?AUvector@@MU0@@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11172[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11172[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11172[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11172[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11172[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11172[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _end_pos$6885[ebp]
push eax
lea ecx, DWORD PTR $T11174[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11171[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11171[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11171[ebp+8], edx
; Line 3443
mov DWORD PTR _flags$6882[ebp], 1049353 ; 00100309H
; Line 3444
lea eax, DWORD PTR _ray$6886[ebp]
push eax
mov ecx, DWORD PTR _flags$6882[ebp]
push ecx
push 0
mov edx, DWORD PTR _start_room$6884[ebp]
push edx
lea eax, DWORD PTR _end_pos$6885[ebp]
push eax
lea ecx, DWORD PTR _start_pos$6883[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$6892[ebp], eax
; Line 3446
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$6887[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$6887[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$6887[ebp+8]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _ray$6886[ebp+48]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _ray$6886[ebp+52]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _ray$6886[ebp+56]
mov DWORD PTR [edx+8], eax
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
fcomp QWORD PTR __real@8@bffef333333333333000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6895
; Line 3448
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+24], 16 ; 00000010H
; Line 3449
push 8
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
; Line 3450
xor al, al
jmp $L6857
$L6895:
; Line 3453
push 1105723392 ; 41e80000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$6887[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$6887[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$6887[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11177[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11176[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11176[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11176[ebp+8], eax
push 1107614761 ; 4204dc29H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$6887[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$6887[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$6887[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11180[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11179[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11179[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11179[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11179[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11179[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11179[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _ray$6886[ebp+8]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _ray$6886[ebp+12]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _ray$6886[ebp+16]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11181[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11178[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11178[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11178[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11176[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11176[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11176[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11178[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11178[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11178[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11182[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11175[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11175[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11175[ebp+8], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 28 ; 0000001cH
mov eax, DWORD PTR $T11175[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR $T11175[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR $T11175[ebp+8]
mov DWORD PTR [edx+8], eax
; Line 3455
mov ecx, DWORD PTR _ray$6886[ebp+4]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 28 ; 0000001cH
push eax
push 131208 ; 00020088H
push 43 ; 0000002bH
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 3457
mov DWORD PTR _dist$6900[ebp], 0
; Line 3458
push 0
lea edx, DWORD PTR _dist$6900[ebp]
push edx
push 26 ; 0000001aH
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 3460
mov DWORD PTR _flags$6882[ebp], 262144 ; 00040000H
; Line 3461
push 0
lea ecx, DWORD PTR _flags$6882[ebp]
push ecx
push 16 ; 00000010H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3463
jmp $L6874
$L6901:
; Line 3466
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
or dh, 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
; Line 3468
mov DWORD PTR _flags$6902[ebp], 25165824 ; 01800000H
; Line 3469
lea edx, DWORD PTR _flags$6902[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3470
mov DWORD PTR _flags$6902[ebp], 256 ; 00000100H
; Line 3471
lea ecx, DWORD PTR _flags$6902[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3473
push 0
push OFFSET FLAT:$SG6903
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 2
push 1090519040 ; 41000000H
push 1137836032 ; 43d20000H
push 1135869952 ; 43b40000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 3475
jmp $L6874
$L6904:
; Line 3478
mov DWORD PTR _flags$6905[ebp], 25165824 ; 01800000H
; Line 3479
lea ecx, DWORD PTR _flags$6905[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3480
mov DWORD PTR _flags$6905[ebp], 256 ; 00000100H
; Line 3481
lea eax, DWORD PTR _flags$6905[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3484
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cx, WORD PTR [eax+96]
or ch, 3
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], cx
; Line 3488
lea ecx, DWORD PTR _droom$6907[ebp]
push ecx
lea edx, DWORD PTR _dpos$6906[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DetermineDeathPos@Humonculous@@AAEXHPAUvector@@PAH@Z ; Humonculous::DetermineDeathPos
; Line 3490
mov ecx, DWORD PTR _droom$6907[ebp]
push ecx
lea edx, DWORD PTR _dpos$6906[ebp]
push edx
push 136 ; 00000088H
push 190 ; 000000beH
push 1065353216 ; 3f800000H
push 3
push 1048576 ; 00100000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 3491
push 0
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 3493
jmp $L6874
$L6908:
; Line 3496
push 0
push OFFSET FLAT:$SG6909
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 2
push 1084227584 ; 40a00000H
push 1131544576 ; 43720000H
push 1129447424 ; 43520000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 3498
jmp $L6874
$L6910:
; Line 3501
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
and dl, -25 ; ffffffe7H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
; Line 3503
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 56 ; 00000038H
push eax
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3504
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 60 ; 0000003cH
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3506
mov DWORD PTR _flags$6911[ebp], 262144 ; 00040000H
; Line 3507
push 0
lea edx, DWORD PTR _flags$6911[ebp]
push edx
push 16 ; 00000010H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3508
mov DWORD PTR _flags$6911[ebp], 2
; Line 3509
push 0
lea ecx, DWORD PTR _flags$6911[ebp]
push ecx
push 16 ; 00000010H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3511
mov DWORD PTR _flags$6911[ebp], 16777216 ; 01000000H
; Line 3512
lea eax, DWORD PTR _flags$6911[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3513
mov DWORD PTR _flags$6911[ebp], 256 ; 00000100H
; Line 3514
lea edx, DWORD PTR _flags$6911[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3516
mov DWORD PTR _flags$6911[ebp], 8388608 ; 00800000H
; Line 3517
push 0
lea ecx, DWORD PTR _flags$6911[ebp]
push ecx
push 10 ; 0000000aH
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3520
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$6912[ebp+44], eax
; Line 3521
mov DWORD PTR _m$6912[ebp+52], 1101004800 ; 41a00000H
; Line 3522
lea ecx, DWORD PTR _m$6912[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 3524
push 6
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 3526
jmp $L6874
$L6913:
; Line 3529
mov DWORD PTR _flags$6914[ebp], 25165824 ; 01800000H
; Line 3530
lea eax, DWORD PTR _flags$6914[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3531
mov DWORD PTR _flags$6914[ebp], 256 ; 00000100H
; Line 3532
lea edx, DWORD PTR _flags$6914[ebp]
push edx
push 51 ; 00000033H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3534
mov DWORD PTR _circle_dist$6915[ebp], -1082130432 ; bf800000H
; Line 3535
lea ecx, DWORD PTR _circle_dist$6915[ebp]
push ecx
push 7
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3539
lea eax, DWORD PTR _droom$6917[ebp]
push eax
lea ecx, DWORD PTR _dpos$6916[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DetermineDeathPos@Humonculous@@AAEXHPAUvector@@PAH@Z ; Humonculous::DetermineDeathPos
; Line 3541
mov eax, DWORD PTR _droom$6917[ebp]
push eax
lea ecx, DWORD PTR _dpos$6916[ebp]
push ecx
push 136 ; 00000088H
push 34 ; 00000022H
push 1065353216 ; 3f800000H
push 3
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 3542
push 0
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 3544
jmp SHORT $L6874
$L6918:
; Line 3548
jmp SHORT $L6874
$L6919:
; Line 3550
push OFFSET FLAT:$SG6920
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
$L6874:
; Line 3554
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ax, WORD PTR _mode$[ebp]
mov WORD PTR [edx+24], ax
; Line 3555
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], 0
; Line 3557
mov al, 1
$L6857:
; Line 3558
mov esp, ebp
pop ebp
ret 8
$L11188:
DD $L6877
DD $L6878
DD $L6879
DD $L6880
DD $L6881
DD $L6919
$L11187:
DB 0
DB 1
DB 5
DB 2
DB 5
DB 5
DB 5
DB 3
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 4
?SetMode@Humonculous@@AAE_NHG@Z ENDP ; Humonculous::SetMode
_TEXT ENDS
; COMDAT ??D@YA?AUvector@@MU0@@Z
_TEXT SEGMENT
_s$ = 12
_v$ = 16
$T11190 = 8
$T11191 = -12
$T11192 = -24
??D@YA?AUvector@@MU0@@Z PROC NEAR ; operator*, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 197
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 198
mov eax, DWORD PTR _s$[ebp]
push eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _v$[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _v$[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _v$[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11192[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11191[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11191[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11191[ebp+8], eax
mov ecx, DWORD PTR $T11190[ebp]
mov edx, DWORD PTR $T11191[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11191[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11191[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR $T11190[ebp]
; Line 199
mov esp, ebp
pop ebp
ret 0
??D@YA?AUvector@@MU0@@Z ENDP ; operator*
_TEXT ENDS
PUBLIC ?DoInit@Humonculous@@AAEXH@Z ; Humonculous::DoInit
PUBLIC __real@4@3ffeb333330000000000
PUBLIC __real@4@3ffe99999a0000000000
PUBLIC __real@4@3ffed9999a0000000000
PUBLIC __real@4@3ffecccccd0000000000
PUBLIC __real@4@4003c800000000000000
_DATA SEGMENT
$SG6945 DB 'Joshbot', 00H
$SG6946 DB 'Joshbot', 00H
$SG6947 DB 'BossRock01', 00H
ORG $+1
$SG6948 DB 'BossRock02', 00H
ORG $+1
$SG6949 DB 'BossRock03', 00H
ORG $+1
$SG6950 DB 'BossRock04', 00H
ORG $+1
$SG6951 DB 'BossRock05', 00H
ORG $+1
$SG6952 DB 'Humonbodyarmor', 00H
ORG $+1
$SG6953 DB 'Humonwristarmor', 00H
_DATA ENDS
; COMDAT __real@4@3ffeb333330000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffeb333330000000000 DD 03f333333r ; 0.7
CONST ENDS
; COMDAT __real@4@3ffe99999a0000000000
CONST SEGMENT
__real@4@3ffe99999a0000000000 DD 03f19999ar ; 0.6
CONST ENDS
; COMDAT __real@4@3ffed9999a0000000000
CONST SEGMENT
__real@4@3ffed9999a0000000000 DD 03f59999ar ; 0.85
CONST ENDS
; COMDAT __real@4@3ffecccccd0000000000
CONST SEGMENT
__real@4@3ffecccccd0000000000 DD 03f4ccccdr ; 0.8
CONST ENDS
; COMDAT __real@4@4003c800000000000000
CONST SEGMENT
__real@4@4003c800000000000000 DD 041c80000r ; 25
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -144
_ch$ = -80
_diff$ = -12
_shields$ = -16
_speed$ = -8
_flags$ = -4
_orient$ = -64
_pos$ = -116
_g_pos$ = -28
_g_norm$ = -104
_from_ground$ = -92
$T11194 = -128
$T11195 = -140
?DoInit@Humonculous@@AAEXH@Z PROC NEAR ; Humonculous::DoInit
; File aigame.cpp
; Line 3561
push ebp
mov ebp, esp
sub esp, 164 ; 000000a4H
mov DWORD PTR _this$[ebp], ecx
; Line 3563
mov WORD PTR _ch$[ebp+8], 4
; Line 3564
mov DWORD PTR _ch$[ebp+12], 100 ; 00000064H
; Line 3565
mov DWORD PTR _ch$[ebp], 0
; Line 3566
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 3568
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 3570
call DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
mov BYTE PTR _diff$[ebp], al
; Line 3575
push 0
lea eax, DWORD PTR _shields$[ebp]
push eax
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3576
lea edx, DWORD PTR _speed$[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3578
movsx ecx, BYTE PTR _diff$[ebp]
test ecx, ecx
jne SHORT $L6932
; Line 3580
fld DWORD PTR _shields$[ebp]
fmul DWORD PTR __real@4@3ffeb333330000000000
fstp DWORD PTR _shields$[ebp]
; Line 3581
fld DWORD PTR _speed$[ebp]
fmul DWORD PTR __real@4@3ffe99999a0000000000
fstp DWORD PTR _speed$[ebp]
; Line 3583
jmp SHORT $L6934
$L6932:
movsx edx, BYTE PTR _diff$[ebp]
cmp edx, 1
jne SHORT $L6934
; Line 3585
fld DWORD PTR _shields$[ebp]
fmul DWORD PTR __real@4@3ffed9999a0000000000
fstp DWORD PTR _shields$[ebp]
; Line 3586
fld DWORD PTR _speed$[ebp]
fmul DWORD PTR __real@4@3ffeb333330000000000
fstp DWORD PTR _speed$[ebp]
$L6934:
; Line 3589
push 0
lea eax, DWORD PTR _shields$[ebp]
push eax
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3590
lea edx, DWORD PTR _speed$[ebp]
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3592
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _shields$[ebp]
mov DWORD PTR [edx+20], eax
; Line 3593
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -148+[ebp]
call _rand
mov DWORD PTR -152+[ebp], eax
fild DWORD PTR -152+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -148+[ebp]
fadd DWORD PTR __real@4@4000c000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+64]
; Line 3594
fld DWORD PTR _shields$[ebp]
fdiv DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -156+[ebp]
call _rand
mov DWORD PTR -160+[ebp], eax
fild DWORD PTR -160+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR _shields$[ebp]
fdiv DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR -156+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
; Line 3595
fld DWORD PTR _shields$[ebp]
fmul DWORD PTR __real@4@3ffe8000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 3596
fld DWORD PTR _shields$[ebp]
fmul DWORD PTR __real@4@3ffecccccd0000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+12]
; Line 3597
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+24], 1
; Line 3598
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], 0
; Line 3599
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4003c800000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx]
; Line 3606
push 0
lea eax, DWORD PTR _orient$[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3607
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3608
lea ecx, DWORD PTR _g_norm$[ebp]
push ecx
lea edx, DWORD PTR _g_pos$[ebp]
push edx
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_GetGroundPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGroundPos
add esp, 16 ; 00000010H
; Line 3610
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _g_pos$[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _g_pos$[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _g_pos$[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _pos$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _pos$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _pos$[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11195[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11194[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11194[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11194[ebp+8], eax
mov ecx, DWORD PTR $T11194[ebp]
mov DWORD PTR _from_ground$[ebp], ecx
mov edx, DWORD PTR $T11194[ebp+4]
mov DWORD PTR _from_ground$[ebp+4], edx
mov eax, DWORD PTR $T11194[ebp+8]
mov DWORD PTR _from_ground$[ebp+8], eax
; Line 3611
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$[ebp+12]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$[ebp+16]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$[ebp+20]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _from_ground$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _from_ground$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _from_ground$[ebp+8]
mov DWORD PTR [eax+8], ecx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 16 ; 00000010H
fstp QWORD PTR [esp]
call _fabs
add esp, 8
fst DWORD PTR -164+[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+52]
; Line 3613
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 56 ; 00000038H
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3614
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 60 ; 0000003cH
push edx
push 1
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3616
push 1
push 1
push 0
push 2
push 2
push OFFSET FLAT:$SG6945
mov ecx, DWORD PTR _me$[ebp]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+68], eax
; Line 3617
mov DWORD PTR _flags$[ebp], 8192 ; 00002000H
; Line 3618
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 16 ; 00000010H
push 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+68]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3619
mov DWORD PTR _flags$[ebp], 1024 ; 00000400H
; Line 3620
push 0
lea eax, DWORD PTR _flags$[ebp]
push eax
push 10 ; 0000000aH
push 3
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+68]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3623
push 1
push 1
push 0
push 4
push 2
push OFFSET FLAT:$SG6946
mov ecx, DWORD PTR _me$[ebp]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+72], eax
; Line 3624
mov DWORD PTR _flags$[ebp], 8192 ; 00002000H
; Line 3625
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 16 ; 00000010H
push 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+72]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3626
mov DWORD PTR _flags$[ebp], 1024 ; 00000400H
; Line 3627
push 0
lea eax, DWORD PTR _flags$[ebp]
push eax
push 10 ; 0000000aH
push 3
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+72]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3629
push OFFSET FLAT:$SG6947
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+76], eax
; Line 3630
push OFFSET FLAT:$SG6948
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+80], eax
; Line 3631
push OFFSET FLAT:$SG6949
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+84], eax
; Line 3632
push OFFSET FLAT:$SG6950
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+88], eax
; Line 3633
push OFFSET FLAT:$SG6951
call DWORD PTR ?Scrpt_FindObjectName@@3P6AHPAD@ZA ; Scrpt_FindObjectName
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+92], eax
; Line 3635
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG6952
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
; Line 3636
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG6953
mov ecx, DWORD PTR _me$[ebp]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
; Line 3638
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
; Line 3639
mov esp, ebp
pop ebp
ret 4
?DoInit@Humonculous@@AAEXH@Z ENDP ; Humonculous::DoInit
_TEXT ENDS
PUBLIC ?DoInterval@Humonculous@@AAEXH@Z ; Humonculous::DoInterval
PUBLIC __real@4@4007b400000000000000
PUBLIC __real@4@4007d200000000000000
PUBLIC __real@4@400190f5c30000000000
PUBLIC __real@4@4005ca00000000000000
PUBLIC __real@4@4005fa00000000000000
PUBLIC __real@4@4005dc00000000000000
PUBLIC __real@4@4009fa00000000000000
PUBLIC __real@4@4002c800000000000000
_DATA SEGMENT
$SG6966 DB 'HEHRE HERHERHERHERHEHREHRHERHEHREHR', 0aH, 00H
_DATA ENDS
; COMDAT __real@4@4007b400000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4007b400000000000000 DD 043b40000r ; 360
CONST ENDS
; COMDAT __real@4@4007d200000000000000
CONST SEGMENT
__real@4@4007d200000000000000 DD 043d20000r ; 420
CONST ENDS
; COMDAT __real@4@400190f5c30000000000
CONST SEGMENT
__real@4@400190f5c30000000000 DD 04090f5c3r ; 4.53
CONST ENDS
; COMDAT __real@4@4005ca00000000000000
CONST SEGMENT
__real@4@4005ca00000000000000 DD 042ca0000r ; 101
CONST ENDS
; COMDAT __real@4@4005fa00000000000000
CONST SEGMENT
__real@4@4005fa00000000000000 DD 042fa0000r ; 125
CONST ENDS
; COMDAT __real@4@4005dc00000000000000
CONST SEGMENT
__real@4@4005dc00000000000000 DD 042dc0000r ; 110
CONST ENDS
; COMDAT __real@4@4009fa00000000000000
CONST SEGMENT
__real@4@4009fa00000000000000 DD 044fa0000r ; 2000
CONST ENDS
; COMDAT __real@4@4002c800000000000000
CONST SEGMENT
__real@4@4002c800000000000000 DD 041480000r ; 12.5
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -2304
_flags$ = -4
_shields$ = -8
_anim_type$6961 = -12
_anim_type$6964 = -16
_anim_type$6968 = -20
_anim_type$6971 = -24
_velocity$6979 = -44
_flags$6980 = -28
_awareness$6981 = -32
_f_force_melee$6983 = -52
_target_handle$6984 = -48
_m$6985 = -972
_dist$6990 = -976
_frame$7000 = -980
_xxx$7003 = -1020
_orient$7004 = -1016
_flags$7008 = -1036
_vel$7009 = -1032
_anim_type$7014 = -1040
_next_anim_type$7015 = -1048
_frame$7016 = -1044
_mstruct$7021 = -1976
_i$7022 = -1052
_mtype$7023 = -1056
_start_pos$7033 = -2120
_start_room$7034 = -2048
_end_pos$7035 = -1996
_ray$7036 = -2108
_flags$7037 = -1984
_fate$7038 = -2044
_max_speed$7039 = -2000
_max_delta_speed$7040 = -1980
_dist$7041 = -2004
_orient$7042 = -2040
_velocity$7046 = -2132
_start_pos$7051 = -2276
_start_room$7052 = -2204
_end_pos$7053 = -2152
_ray$7054 = -2264
_flags$7055 = -2140
_fate$7056 = -2200
_max_speed$7057 = -2156
_max_delta_speed$7058 = -2136
_dist$7059 = -2160
_orient$7060 = -2196
$T11209 = -2288
$T11210 = -2300
?DoInterval@Humonculous@@AAEXH@Z PROC NEAR ; Humonculous::DoInterval
; File aigame.cpp
; Line 3642
push ebp
mov ebp, esp
sub esp, 2320 ; 00000910H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 3644
push 0
lea eax, DWORD PTR _flags$[ebp]
push eax
push 10 ; 0000000aH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3650
push 0
lea edx, DWORD PTR _shields$[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3652
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR [edx+8]
fnstsw ax
test ah, 1
je SHORT $L6962
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, WORD PTR [ecx+96]
and edx, 512 ; 00000200H
test edx, edx
jne SHORT $L6962
; Line 3655
lea eax, DWORD PTR _anim_type$6961[ebp]
push eax
push 15 ; 0000000fH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3657
movsx edx, BYTE PTR _anim_type$6961[ebp]
cmp edx, 27 ; 0000001bH
je SHORT $L6962
movsx eax, BYTE PTR _anim_type$6961[ebp]
cmp eax, 6
je SHORT $L6962
movsx ecx, BYTE PTR _anim_type$6961[ebp]
cmp ecx, 8
je SHORT $L6962
; Line 3658
push 32 ; 00000020H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6962:
; Line 3661
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR [ecx+12]
fnstsw ax
test ah, 1
je SHORT $L6965
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, WORD PTR [eax+96]
and ecx, 256 ; 00000100H
test ecx, ecx
jne SHORT $L6965
; Line 3664
lea edx, DWORD PTR _anim_type$6964[ebp]
push edx
push 15 ; 0000000fH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3666
movsx ecx, BYTE PTR _anim_type$6964[ebp]
cmp ecx, 27 ; 0000001bH
je SHORT $L6965
movsx edx, BYTE PTR _anim_type$6964[ebp]
cmp edx, 6
je SHORT $L6965
movsx eax, BYTE PTR _anim_type$6964[ebp]
cmp eax, 8
je SHORT $L6965
; Line 3668
push OFFSET FLAT:$SG6966
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 3669
push 16 ; 00000010H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6965:
; Line 3673
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cx, WORD PTR [eax+24]
cmp ecx, 64 ; 00000040H
jge SHORT $L6969
mov edx, DWORD PTR _flags$[ebp]
and edx, 8388608 ; 00800000H
test edx, edx
je SHORT $L6969
; Line 3676
lea eax, DWORD PTR _anim_type$6968[ebp]
push eax
push 15 ; 0000000fH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3678
movsx edx, BYTE PTR _anim_type$6968[ebp]
cmp edx, 27 ; 0000001bH
je SHORT $L6969
movsx eax, BYTE PTR _anim_type$6968[ebp]
cmp eax, 6
je SHORT $L6969
movsx ecx, BYTE PTR _anim_type$6968[ebp]
cmp ecx, 8
je SHORT $L6969
; Line 3679
push 64 ; 00000040H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6969:
; Line 3682
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dx, WORD PTR [ecx+24]
cmp edx, 256 ; 00000100H
jne SHORT $L6972
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6972
mov edx, DWORD PTR _flags$[ebp]
and edx, 8388608 ; 00800000H
test edx, edx
je SHORT $L6972
; Line 3685
lea eax, DWORD PTR _anim_type$6971[ebp]
push eax
push 15 ; 0000000fH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3687
movsx edx, BYTE PTR _anim_type$6971[ebp]
cmp edx, 27 ; 0000001bH
je SHORT $L6972
movsx eax, BYTE PTR _anim_type$6971[ebp]
cmp eax, 6
je SHORT $L6972
movsx ecx, BYTE PTR _anim_type$6971[ebp]
cmp ecx, 8
je SHORT $L6972
; Line 3688
push 512 ; 00000200H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6972:
; Line 3692
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dx, WORD PTR [ecx+24]
mov DWORD PTR -2308+[ebp], edx
cmp DWORD PTR -2308+[ebp], 32 ; 00000020H
jg SHORT $L11211
cmp DWORD PTR -2308+[ebp], 32 ; 00000020H
je $L6999
mov eax, DWORD PTR -2308+[ebp]
sub eax, 2
mov DWORD PTR -2308+[ebp], eax
cmp DWORD PTR -2308+[ebp], 14 ; 0000000eH
ja $L6974
mov edx, DWORD PTR -2308+[ebp]
xor ecx, ecx
mov cl, BYTE PTR $L11228[edx]
jmp DWORD PTR $L11229[ecx*4]
$L11211:
cmp DWORD PTR -2308+[ebp], 64 ; 00000040H
je $L7030
cmp DWORD PTR -2308+[ebp], 128 ; 00000080H
je $L7044
cmp DWORD PTR -2308+[ebp], 512 ; 00000200H
je $L7047
jmp $L6974
$L6977:
; Line 3695
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@40028000000000000000
fnstsw ax
test ah, 1
je $L6978
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp DWORD PTR __real@4@40028000000000000000
fnstsw ax
test ah, 1
jne SHORT $L6978
; Line 3697
mov eax, DWORD PTR _Zero_vector
mov DWORD PTR _velocity$6979[ebp], eax
mov ecx, DWORD PTR _Zero_vector+4
mov DWORD PTR _velocity$6979[ebp+4], ecx
mov edx, DWORD PTR _Zero_vector+8
mov DWORD PTR _velocity$6979[ebp+8], edx
; Line 3698
mov DWORD PTR _velocity$6979[ebp+4], 1115815936 ; 42820000H
; Line 3700
push 0
lea eax, DWORD PTR _velocity$6979[ebp]
push eax
push 6
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3702
mov DWORD PTR _flags$6980[ebp], 536871936 ; 20000400H
; Line 3703
lea edx, DWORD PTR _flags$6980[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3705
mov DWORD PTR _awareness$6981[ebp], 1120403456 ; 42c80000H
; Line 3706
lea ecx, DWORD PTR _awareness$6981[ebp]
push ecx
push 50 ; 00000032H
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L6978:
; Line 3709
jmp $L6974
$L6982:
; Line 3717
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$6985[ebp+44], eax
; Line 3718
lea ecx, DWORD PTR _m$6985[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 3720
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _m$6985[ebp+52]
fcomp DWORD PTR [eax+16]
fnstsw ax
test ah, 1
je SHORT $L11207
mov DWORD PTR -2312+[ebp], 1
jmp SHORT $L11208
$L11207:
mov DWORD PTR -2312+[ebp], 0
$L11208:
mov cl, BYTE PTR -2312+[ebp]
mov BYTE PTR _f_force_melee$6983[ebp], cl
; Line 3722
mov edx, DWORD PTR _f_force_melee$6983[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L6986
; Line 3723
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
or dl, 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
; Line 3724
jmp SHORT $L6987
$L6986:
; Line 3725
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cx, WORD PTR [eax+96]
and cl, -3 ; fffffffdH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], cx
$L6987:
; Line 3727
mov ecx, DWORD PTR _f_force_melee$6983[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne SHORT $L6991
; Line 3729
lea edx, DWORD PTR _target_handle$6984[ebp]
push edx
push 19 ; 00000013H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3731
cmp DWORD PTR _target_handle$6984[ebp], -1
je SHORT $L6991
; Line 3734
lea ecx, DWORD PTR _dist$6990[ebp]
push ecx
push 21 ; 00000015H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3736
fld DWORD PTR _dist$6990[ebp]
fcomp DWORD PTR __real@4@4004c800000000000000
fnstsw ax
test ah, 1
je SHORT $L6991
; Line 3738
mov BYTE PTR _f_force_melee$6983[ebp], 1
$L6991:
; Line 3743
mov eax, DWORD PTR _f_force_melee$6983[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne $L6992
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+64]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L6992
; Line 3745
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -2316+[ebp]
call _rand
mov DWORD PTR -2320+[ebp], eax
fild DWORD PTR -2320+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd ST(0), ST(0)
fadd DWORD PTR -2316+[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+64]
; Line 3747
call _rand
cdq
mov ecx, 150 ; 00000096H
idiv ecx
cmp edx, 10 ; 0000000aH
jle SHORT $L6995
; Line 3749
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
; Line 3751
jmp SHORT $L6996
$L6995:
; Line 3753
push 8
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6996:
; Line 3756
jmp SHORT $L6998
$L6992:
mov ecx, DWORD PTR _f_force_melee$6983[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L6998
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cx, WORD PTR [eax+24]
cmp ecx, 8
je SHORT $L6998
; Line 3759
push 8
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L6998:
; Line 3762
jmp $L6974
$L6999:
; Line 3767
push 0
lea eax, DWORD PTR _frame$7000[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3769
fld DWORD PTR _frame$7000[ebp]
fcomp DWORD PTR __real@4@4007b400000000000000
fnstsw ax
test ah, 1
jne $L7007
fld DWORD PTR _frame$7000[ebp]
fcomp DWORD PTR __real@4@4007d200000000000000
fnstsw ax
test ah, 65 ; 00000041H
je $L7007
; Line 3771
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cx, WORD PTR [eax+96]
or cl, 64 ; 00000040H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov WORD PTR [eax+96], cx
; Line 3773
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+4]
fcomp DWORD PTR __real@4@400190f5c30000000000
fnstsw ax
test ah, 1
je $L7007
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp DWORD PTR __real@4@400190f5c30000000000
fnstsw ax
test ah, 1
jne $L7007
; Line 3777
push 0
lea ecx, DWORD PTR _orient$7004[ebp]
push ecx
push 4
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3780
mov DWORD PTR _xxx$7003[ebp], 0
jmp SHORT $L7005
$L7006:
mov eax, DWORD PTR _xxx$7003[ebp]
add eax, 1
mov DWORD PTR _xxx$7003[ebp], eax
$L7005:
cmp DWORD PTR _xxx$7003[ebp], 2
jge $L7007
; Line 3782
mov DWORD PTR _flags$7008[ebp], 1024 ; 00000400H
; Line 3783
push 1117782016 ; 42a00000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$7004[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$7004[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$7004[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11210[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11209[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11209[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11209[ebp+8], eax
mov ecx, DWORD PTR $T11209[ebp]
mov DWORD PTR _vel$7009[ebp], ecx
mov edx, DWORD PTR $T11209[ebp+4]
mov DWORD PTR _vel$7009[ebp+4], edx
mov eax, DWORD PTR $T11209[ebp+8]
mov DWORD PTR _vel$7009[ebp+8], eax
; Line 3785
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _xxx$7003[ebp]
mov ecx, DWORD PTR [edx+eax*4+68]
push ecx
call DWORD PTR ?Obj_UnattachFromParent@@3P6AXH@ZA ; Obj_UnattachFromParent
add esp, 4
; Line 3786
push 0
lea edx, DWORD PTR _vel$7009[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _xxx$7003[ebp]
mov eax, DWORD PTR [ecx+edx*4+68]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3788
push 0
lea ecx, DWORD PTR _flags$7008[ebp]
push ecx
push 10 ; 0000000aH
push 2
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _xxx$7003[ebp]
mov edx, DWORD PTR [eax+ecx*4+68]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3790
jmp $L7006
$L7007:
; Line 3794
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, WORD PTR [ecx+96]
and edx, 64 ; 00000040H
test edx, edx
je SHORT $L7011
fld DWORD PTR _frame$7000[ebp]
fcomp DWORD PTR __real@4@4007b400000000000000
fnstsw ax
test ah, 1
jne SHORT $L7012
fld DWORD PTR _frame$7000[ebp]
fcomp DWORD PTR __real@4@4007d200000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7011
$L7012:
; Line 3796
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L7011:
; Line 3799
jmp $L6974
$L7013:
; Line 3805
lea ecx, DWORD PTR _anim_type$7014[ebp]
push ecx
push 15 ; 0000000fH
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3806
lea eax, DWORD PTR _next_anim_type$7015[ebp]
push eax
push 16 ; 00000010H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3809
push 0
lea edx, DWORD PTR _frame$7016[ebp]
push edx
push 18 ; 00000012H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3811
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, WORD PTR [edx+96]
and eax, 32 ; 00000020H
test eax, eax
jne SHORT $L7017
; Line 3814
fld DWORD PTR _frame$7016[ebp]
fcomp DWORD PTR __real@4@4005ca00000000000000
fnstsw ax
test ah, 1
jne SHORT $L7018
fld DWORD PTR _frame$7016[ebp]
fcomp DWORD PTR __real@4@4005fa00000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7018
; Line 3816
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ax, WORD PTR [edx+96]
or al, 32 ; 00000020H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+96], ax
$L7018:
; Line 3819
jmp $L7026
$L7017:
fld DWORD PTR _frame$7016[ebp]
fcomp DWORD PTR __real@4@4005dc00000000000000
fnstsw ax
test ah, 1
jne $L7026
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, WORD PTR [ecx+96]
and edx, 128 ; 00000080H
test edx, edx
jne $L7026
; Line 3821
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dx, WORD PTR [ecx+96]
or dl, -128 ; ffffff80H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov WORD PTR [ecx+96], dx
; Line 3825
mov DWORD PTR _mstruct$7021[ebp+92], 1115815936 ; 42820000H
; Line 3826
lea edx, DWORD PTR _mstruct$7021[ebp]
push edx
push 61 ; 0000003dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 3829
mov BYTE PTR _mtype$7023[ebp], 1
; Line 3830
mov DWORD PTR _i$7022[ebp], 0
jmp SHORT $L7024
$L7025:
mov eax, DWORD PTR _i$7022[ebp]
add eax, 1
mov DWORD PTR _i$7022[ebp], eax
$L7024:
cmp DWORD PTR _i$7022[ebp], 5
jge SHORT $L7026
; Line 3832
push 0
lea ecx, DWORD PTR _mtype$7023[ebp]
push ecx
push 13 ; 0000000dH
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$7022[ebp]
mov edx, DWORD PTR [eax+ecx*4+76]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3833
jmp SHORT $L7025
$L7026:
; Line 3836
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7027
movsx edx, BYTE PTR _anim_type$7014[ebp]
cmp edx, 29 ; 0000001dH
je SHORT $L7027
movsx eax, BYTE PTR _next_anim_type$7015[ebp]
cmp eax, 29 ; 0000001dH
je SHORT $L7027
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, WORD PTR [edx+96]
and eax, 32 ; 00000020H
test eax, eax
je SHORT $L7027
; Line 3838
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
; Line 3840
jmp SHORT $L7029
$L7027:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fcomp DWORD PTR __real@4@4002f000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7029
movsx ecx, BYTE PTR _anim_type$7014[ebp]
cmp ecx, 29 ; 0000001dH
je SHORT $L7029
; Line 3842
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L7029:
; Line 3845
jmp $L6974
$L7030:
; Line 3849
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, WORD PTR [ecx+96]
and edx, 1024 ; 00000400H
test edx, edx
je $L7043
; Line 3851
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
je $L7032
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
jne $L7032
; Line 3859
push 0
lea eax, DWORD PTR _start_pos$7033[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3860
push 0
lea edx, DWORD PTR _start_room$7034[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3861
mov ecx, DWORD PTR _start_pos$7033[ebp]
mov DWORD PTR _end_pos$7035[ebp], ecx
mov edx, DWORD PTR _start_pos$7033[ebp+4]
mov DWORD PTR _end_pos$7035[ebp+4], edx
mov eax, DWORD PTR _start_pos$7033[ebp+8]
mov DWORD PTR _end_pos$7035[ebp+8], eax
; Line 3862
fld DWORD PTR _end_pos$7035[ebp+4]
fsub DWORD PTR __real@4@4009fa00000000000000
fstp DWORD PTR _end_pos$7035[ebp+4]
; Line 3864
mov DWORD PTR _flags$7037[ebp], 1049353 ; 00100309H
; Line 3865
lea ecx, DWORD PTR _ray$7036[ebp]
push ecx
mov edx, DWORD PTR _flags$7037[ebp]
push edx
push 0
mov eax, DWORD PTR _start_room$7034[ebp]
push eax
lea ecx, DWORD PTR _end_pos$7035[ebp]
push ecx
lea edx, DWORD PTR _start_pos$7033[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$7038[ebp], eax
; Line 3867
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 28 ; 0000001cH
mov eax, DWORD PTR _ray$7036[ebp+8]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _ray$7036[ebp+12]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _ray$7036[ebp+16]
mov DWORD PTR [edx+8], eax
; Line 3868
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [edx+32]
fadd DWORD PTR [ecx+52]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+32]
; Line 3870
mov DWORD PTR _max_speed$7039[ebp], 1101004800 ; 41a00000H
; Line 3871
mov DWORD PTR _max_delta_speed$7040[ebp], 1112014848 ; 42480000H
; Line 3873
lea ecx, DWORD PTR _max_speed$7039[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3874
lea eax, DWORD PTR _max_delta_speed$7040[ebp]
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3876
mov edx, DWORD PTR _ray$7036[ebp+4]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 28 ; 0000001cH
push ecx
push 131208 ; 00020088H
push 43 ; 0000002bH
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 3878
mov DWORD PTR _dist$7041[ebp], 0
; Line 3879
push 0
lea eax, DWORD PTR _dist$7041[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 3881
mov DWORD PTR _flags$7037[ebp], 262144 ; 00040000H
; Line 3882
push 0
lea edx, DWORD PTR _flags$7037[ebp]
push edx
push 16 ; 00000010H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3883
mov DWORD PTR _flags$7037[ebp], 2
; Line 3884
push 0
lea ecx, DWORD PTR _flags$7037[ebp]
push ecx
push 16 ; 00000010H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3887
push 0
lea eax, DWORD PTR _orient$7042[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3889
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 40 ; 00000028H
mov ecx, DWORD PTR _orient$7042[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$7042[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$7042[ebp+32]
mov DWORD PTR [eax+8], ecx
; Line 3890
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+44], 0
; Line 3891
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 40 ; 00000028H
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
$L7032:
; Line 3894
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4002f000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7043
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, WORD PTR [eax+96]
and ecx, 8
test ecx, ecx
je SHORT $L7043
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, WORD PTR [eax+96]
and ecx, 16 ; 00000010H
test ecx, ecx
je SHORT $L7043
; Line 3896
push 128 ; 00000080H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L7043:
; Line 3900
jmp $L6974
$L7044:
; Line 3904
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7045
; Line 3906
mov edx, DWORD PTR _Zero_vector
mov DWORD PTR _velocity$7046[ebp], edx
mov eax, DWORD PTR _Zero_vector+4
mov DWORD PTR _velocity$7046[ebp+4], eax
mov ecx, DWORD PTR _Zero_vector+8
mov DWORD PTR _velocity$7046[ebp+8], ecx
; Line 3907
mov DWORD PTR _velocity$7046[ebp+4], 1109393408 ; 42200000H
; Line 3909
push 0
lea edx, DWORD PTR _velocity$7046[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3910
push 256 ; 00000100H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Humonculous@@AAE_NHG@Z ; Humonculous::SetMode
$L7045:
; Line 3913
jmp $L6974
$L7047:
; Line 3917
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, WORD PTR [eax+96]
and ecx, 2048 ; 00000800H
test ecx, ecx
je $L7050
; Line 3919
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
je SHORT $L7049
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
jne SHORT $L7049
; Line 3921
push 1065353216 ; 3f800000H
push 1232348160 ; 49742400H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L7049:
; Line 3924
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4002c800000000000000
fnstsw ax
test ah, 1
je $L7050
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp DWORD PTR __real@4@4002c800000000000000
fnstsw ax
test ah, 1
jne $L7050
; Line 3932
push 0
lea eax, DWORD PTR _start_pos$7051[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3933
push 0
lea edx, DWORD PTR _start_room$7052[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3934
mov ecx, DWORD PTR _start_pos$7051[ebp]
mov DWORD PTR _end_pos$7053[ebp], ecx
mov edx, DWORD PTR _start_pos$7051[ebp+4]
mov DWORD PTR _end_pos$7053[ebp+4], edx
mov eax, DWORD PTR _start_pos$7051[ebp+8]
mov DWORD PTR _end_pos$7053[ebp+8], eax
; Line 3935
fld DWORD PTR _end_pos$7053[ebp+4]
fsub DWORD PTR __real@4@4009fa00000000000000
fstp DWORD PTR _end_pos$7053[ebp+4]
; Line 3937
mov DWORD PTR _flags$7055[ebp], 1049353 ; 00100309H
; Line 3938
lea ecx, DWORD PTR _ray$7054[ebp]
push ecx
mov edx, DWORD PTR _flags$7055[ebp]
push edx
push 0
mov eax, DWORD PTR _start_room$7052[ebp]
push eax
lea ecx, DWORD PTR _end_pos$7053[ebp]
push ecx
lea edx, DWORD PTR _start_pos$7051[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$7056[ebp], eax
; Line 3940
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 28 ; 0000001cH
mov eax, DWORD PTR _ray$7054[ebp+8]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _ray$7054[ebp+12]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _ray$7054[ebp+16]
mov DWORD PTR [edx+8], eax
; Line 3941
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [edx+32]
fadd DWORD PTR [ecx+52]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+32]
; Line 3943
mov DWORD PTR _max_speed$7057[ebp], 1101004800 ; 41a00000H
; Line 3944
mov DWORD PTR _max_delta_speed$7058[ebp], 1112014848 ; 42480000H
; Line 3946
lea ecx, DWORD PTR _max_speed$7057[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3947
lea eax, DWORD PTR _max_delta_speed$7058[ebp]
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 3949
mov edx, DWORD PTR _ray$7054[ebp+4]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 28 ; 0000001cH
push ecx
push 131208 ; 00020088H
push 43 ; 0000002bH
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 3951
mov DWORD PTR _dist$7059[ebp], 0
; Line 3952
push 0
lea eax, DWORD PTR _dist$7059[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 3954
mov DWORD PTR _flags$7055[ebp], 262144 ; 00040000H
; Line 3955
push 0
lea edx, DWORD PTR _flags$7055[ebp]
push edx
push 16 ; 00000010H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3956
mov DWORD PTR _flags$7055[ebp], 2
; Line 3957
push 0
lea ecx, DWORD PTR _flags$7055[ebp]
push ecx
push 16 ; 00000010H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3960
push 0
lea eax, DWORD PTR _orient$7060[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 3962
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 40 ; 00000028H
mov ecx, DWORD PTR _orient$7060[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$7060[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$7060[ebp+32]
mov DWORD PTR [eax+8], ecx
; Line 3963
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+44], 0
; Line 3964
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 40 ; 00000028H
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
$L7050:
$L6974:
; Line 3971
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _shields$[ebp]
mov DWORD PTR [ecx+20], edx
; Line 3972
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 3973
pop esi
mov esp, ebp
pop ebp
ret 4
$L11229:
DD $L6977
DD $L6982
DD $L7013
DD $L6974
$L11228:
DB 0
DB 3
DB 1
DB 3
DB 3
DB 3
DB 1
DB 3
DB 3
DB 3
DB 3
DB 3
DB 3
DB 3
DB 2
?DoInterval@Humonculous@@AAEXH@Z ENDP ; Humonculous::DoInterval
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Humonculous@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Humonculous::CallEvent
; Line 3976
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 3978
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L7067
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11231[eax]
jmp DWORD PTR $L11232[edx*4]
$L7070:
; Line 3980
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Humonculous@@AAEXH@Z ; Humonculous::DoInit
; Line 3981
jmp SHORT $L7067
$L7071:
; Line 3983
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInterval@Humonculous@@AAEXH@Z ; Humonculous::DoInterval
; Line 3984
jmp SHORT $L7067
$L7072:
; Line 3986
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Humonculous@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Humonculous::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L7065
$L7073:
; Line 3990
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7067:
; Line 3994
mov ax, 257 ; 00000101H
$L7065:
; Line 3995
mov esp, ebp
pop ebp
ret 8
$L11232:
DD $L7071
DD $L7072
DD $L7070
DD $L7073
DD $L7067
$L11231:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Humonculous@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Humonculous::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Dragon@@AAEXH@Z ; Dragon::DoInit
_DATA SEGMENT
ORG $+2
$SG7083 DB 'Dragonhead', 00H
ORG $+1
$SG7084 DB 'Dragontail', 00H
ORG $+1
$SG7085 DB 'Dragonturret', 00H
ORG $+3
$SG7089 DB 'Dragontailturret', 00H
ORG $+3
$SG7090 DB 'Dragontentacle', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -24
_i$ = -4
_ch$ = -20
?DoInit@Dragon@@AAEXH@Z PROC NEAR ; Dragon::DoInit
; Line 4002
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
mov DWORD PTR _this$[ebp], ecx
; Line 4006
mov WORD PTR _ch$[ebp+8], 4
; Line 4007
mov DWORD PTR _ch$[ebp+12], 64 ; 00000040H
; Line 4008
mov DWORD PTR _ch$[ebp], 0
; Line 4009
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4011
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4013
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG7083
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 4014
push 0
push 1
push 6
push 0
push 2
push OFFSET FLAT:$SG7084
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+8], eax
; Line 4015
push 0
push 1
push 0
push 2
push 2
push OFFSET FLAT:$SG7085
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+12], eax
; Line 4017
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L7086
$L7087:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L7086:
cmp DWORD PTR _i$[ebp], 6
jge SHORT $L7088
; Line 4019
push 0
push 1
push 1
mov cl, BYTE PTR _i$[ebp]
push ecx
push 2
push OFFSET FLAT:$SG7089
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+8]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov edx, DWORD PTR _i$[ebp]
mov DWORD PTR [ecx+edx*4+16], eax
; Line 4020
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7090
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR [ecx+edx*4+16]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _i$[ebp]
mov DWORD PTR [edx+ecx*4+40], eax
; Line 4021
jmp SHORT $L7087
$L7088:
; Line 4023
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax], 0
; Line 4025
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 4026
mov esp, ebp
pop ebp
ret 4
?DoInit@Dragon@@AAEXH@Z ENDP ; Dragon::DoInit
_event$ = 8
_data$ = 12
_this$ = -8
_i$7104 = -4
?CallEvent@Dragon@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Dragon::CallEvent
; Line 4029
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 4031
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -12+[ebp], eax
cmp DWORD PTR -12+[ebp], 261 ; 00000105H
je SHORT $L7103
cmp DWORD PTR -12+[ebp], 273 ; 00000111H
je SHORT $L7100
cmp DWORD PTR -12+[ebp], 281 ; 00000119H
je SHORT $L7101
jmp $L7097
$L7100:
; Line 4033
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Dragon@@AAEXH@Z ; Dragon::DoInit
; Line 4034
jmp $L7097
$L7101:
; Line 4037
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
; Line 4039
jmp $L7097
$L7103:
; Line 4044
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+4]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4045
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+8]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4046
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+12]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4047
mov DWORD PTR _i$7104[ebp], 0
jmp SHORT $L7105
$L7106:
mov eax, DWORD PTR _i$7104[ebp]
add eax, 1
mov DWORD PTR _i$7104[ebp], eax
$L7105:
cmp DWORD PTR _i$7104[ebp], 6
jge SHORT $L7107
; Line 4049
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$7104[ebp]
mov ecx, DWORD PTR [edx+eax*4+16]
push ecx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4050
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$7104[ebp]
mov edx, DWORD PTR [eax+ecx*4+40]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4051
jmp SHORT $L7106
$L7107:
$L7097:
; Line 4055
mov ax, 257 ; 00000101H
; Line 4056
mov esp, ebp
pop ebp
ret 8
?CallEvent@Dragon@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Dragon::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Tracker@@AAEXH@Z ; Tracker::DoInit
_DATA SEGMENT
ORG $+1
$SG7115 DB 'Trackerturret', 00H
ORG $+2
$SG7116 DB 'Trackerhatch', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Tracker@@AAEXH@Z PROC NEAR ; Tracker::DoInit
; Line 4064
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 4066
mov WORD PTR _ch$[ebp+8], 4
; Line 4067
mov DWORD PTR _ch$[ebp+12], 8
; Line 4068
mov DWORD PTR _ch$[ebp], 0
; Line 4069
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4071
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4073
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG7115
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 4074
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7116
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 4076
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 4077
mov esp, ebp
pop ebp
ret 4
?DoInit@Tracker@@AAEXH@Z ENDP ; Tracker::DoInit
_event$ = 8
_data$ = 12
_this$ = -924
_mstruct$7130 = -920
?CallEvent@Tracker@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Tracker::CallEvent
; Line 4080
push ebp
mov ebp, esp
sub esp, 928 ; 000003a0H
mov DWORD PTR _this$[ebp], ecx
; Line 4082
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -928+[ebp], eax
cmp DWORD PTR -928+[ebp], 261 ; 00000105H
je SHORT $L7129
cmp DWORD PTR -928+[ebp], 273 ; 00000111H
je SHORT $L7126
cmp DWORD PTR -928+[ebp], 281 ; 00000119H
je SHORT $L7127
jmp $L7123
$L7126:
; Line 4084
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Tracker@@AAEXH@Z ; Tracker::DoInit
; Line 4085
jmp $L7123
$L7127:
; Line 4088
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
; Line 4090
jmp SHORT $L7123
$L7129:
; Line 4095
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR _mstruct$7130[ebp+44], edx
; Line 4096
mov DWORD PTR _mstruct$7130[ebp+100], -1
; Line 4097
mov BYTE PTR _mstruct$7130[ebp+96], 0
; Line 4098
mov DWORD PTR _mstruct$7130[ebp+92], 1148846080 ; 447a0000H
; Line 4100
lea eax, DWORD PTR _mstruct$7130[ebp]
push eax
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 4102
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx]
mov DWORD PTR _mstruct$7130[ebp+44], eax
; Line 4103
mov DWORD PTR _mstruct$7130[ebp+100], -1
; Line 4104
mov BYTE PTR _mstruct$7130[ebp+96], 0
; Line 4105
mov DWORD PTR _mstruct$7130[ebp+92], 1148846080 ; 447a0000H
; Line 4107
lea ecx, DWORD PTR _mstruct$7130[ebp]
push ecx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L7123:
; Line 4112
mov ax, 257 ; 00000101H
; Line 4113
mov esp, ebp
pop ebp
ret 8
?CallEvent@Tracker@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Tracker::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Lance@@AAEXH@Z ; Lance::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Lance@@AAEXH@Z PROC NEAR ; Lance::DoInit
; Line 4120
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 4122
mov WORD PTR _ch$[ebp+8], 4
; Line 4123
mov DWORD PTR _ch$[ebp+12], 4
; Line 4124
mov DWORD PTR _ch$[ebp], 0
; Line 4125
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4127
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4129
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 1
; Line 4130
mov esp, ebp
pop ebp
ret 4
?DoInit@Lance@@AAEXH@Z ENDP ; Lance::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@Lance@@AAEXH@Z ; Lance::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -16
_frame$ = -4
_flags$7145 = -8
_flags$7148 = -12
?DoFrame@Lance@@AAEXH@Z PROC NEAR ; Lance::DoFrame
; Line 4133
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
mov DWORD PTR _this$[ebp], ecx
; Line 4136
push 0
lea eax, DWORD PTR _frame$[ebp]
push eax
push 0
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 4138
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@40008000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7143
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 1
je SHORT $L7143
; Line 4140
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax], 1
jne SHORT $L7144
; Line 4142
mov DWORD PTR _flags$7145[ebp], 8388608 ; 00800000H
; Line 4143
lea ecx, DWORD PTR _flags$7145[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4144
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 0
$L7144:
; Line 4147
jmp SHORT $L7147
$L7143:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax], 0
jne SHORT $L7147
; Line 4149
mov DWORD PTR _flags$7148[ebp], 8388608 ; 00800000H
; Line 4150
lea ecx, DWORD PTR _flags$7148[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4151
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 1
$L7147:
; Line 4153
mov esp, ebp
pop ebp
ret 4
?DoFrame@Lance@@AAEXH@Z ENDP ; Lance::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Lance@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Lance::CallEvent
; Line 4156
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4158
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 257 ; 00000101H
je SHORT $L7159
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L7158
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7160
jmp SHORT $L7155
$L7158:
; Line 4160
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Lance@@AAEXH@Z ; Lance::DoInit
; Line 4161
jmp SHORT $L7155
$L7159:
; Line 4163
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Lance@@AAEXH@Z ; Lance::DoFrame
; Line 4164
jmp SHORT $L7155
$L7160:
; Line 4167
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7155:
; Line 4171
mov ax, 257 ; 00000101H
; Line 4172
mov esp, ebp
pop ebp
ret 8
?CallEvent@Lance@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Lance::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Flak@@AAEXH@Z ; Flak::DoInit
_DATA SEGMENT
ORG $+3
$SG7169 DB 'Flakcanopy', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Flak@@AAEXH@Z PROC NEAR ; Flak::DoInit
; Line 4179
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 4181
mov WORD PTR _ch$[ebp+8], 4
; Line 4182
mov DWORD PTR _ch$[ebp+12], 4
; Line 4183
mov DWORD PTR _ch$[ebp], 0
; Line 4184
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4186
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4188
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7169
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 4190
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 4191
mov esp, ebp
pop ebp
ret 4
?DoInit@Flak@@AAEXH@Z ENDP ; Flak::DoInit
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Flak@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Flak::CallEvent
; Line 4194
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4196
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 261 ; 00000105H
je SHORT $L7180
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L7179
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7181
jmp SHORT $L7176
$L7179:
; Line 4198
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Flak@@AAEXH@Z ; Flak::DoInit
; Line 4199
jmp SHORT $L7176
$L7180:
; Line 4201
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4202
jmp SHORT $L7176
$L7181:
; Line 4205
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
$L7176:
; Line 4209
mov ax, 257 ; 00000101H
; Line 4210
mov esp, ebp
pop ebp
ret 8
?CallEvent@Flak@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Flak::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@SuperTrooper@@AAEXH@Z ; SuperTrooper::DoInit
_DATA SEGMENT
ORG $+1
$SG7189 DB 'supertrooper', 00H
ORG $+3
$SG7194 DB 'supertorso', 00H
ORG $+1
$SG7196 DB 'red supertorso', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -944
_m$ = -940
_st_id$ = -4
_ch$ = -20
?DoInit@SuperTrooper@@AAEXH@Z PROC NEAR ; SuperTrooper::DoInit
; Line 4217
push ebp
mov ebp, esp
sub esp, 944 ; 000003b0H
mov DWORD PTR _this$[ebp], ecx
; Line 4219
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 4220
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 31 ; 0000001fH
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 4221
push OFFSET FLAT:$SG7189
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _st_id$[ebp], eax
; Line 4224
mov WORD PTR _ch$[ebp+8], 4
; Line 4225
mov DWORD PTR _ch$[ebp+12], 4
; Line 4226
mov DWORD PTR _ch$[ebp], 0
; Line 4227
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], edx
; Line 4229
lea eax, DWORD PTR _ch$[ebp]
push eax
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 4231
mov edx, DWORD PTR _m$[ebp+72]
cmp edx, DWORD PTR _st_id$[ebp]
jne SHORT $L7193
; Line 4233
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7194
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 4235
jmp SHORT $L7195
$L7193:
; Line 4237
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7196
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
$L7195:
; Line 4240
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 4241
mov esp, ebp
pop ebp
ret 4
?DoInit@SuperTrooper@@AAEXH@Z ENDP ; SuperTrooper::DoInit
_event$ = 8
_data$ = 12
_this$ = -1848
_body_handle$7207 = -4
_mstruct$7209 = -924
_mstruct$7212 = -1844
?CallEvent@SuperTrooper@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SuperTrooper::CallEvent
; Line 4244
push ebp
mov ebp, esp
sub esp, 1852 ; 0000073cH
mov DWORD PTR _this$[ebp], ecx
; Line 4246
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -1852+[ebp], eax
mov ecx, DWORD PTR -1852+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -1852+[ebp], ecx
cmp DWORD PTR -1852+[ebp], 25 ; 00000019H
ja $L7203
mov eax, DWORD PTR -1852+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11244[eax]
jmp DWORD PTR $L11245[edx*4]
$L7206:
; Line 4249
push 0
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call DWORD PTR ?Obj_GetAttachChildHandle@@3P6AHHD@ZA ; Obj_GetAttachChildHandle
add esp, 8
mov DWORD PTR _body_handle$7207[ebp], eax
; Line 4250
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _body_handle$7207[ebp]
cmp edx, DWORD PTR [ecx]
je SHORT $L7208
; Line 4254
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
mov DWORD PTR _mstruct$7209[ebp+44], ecx
; Line 4255
mov DWORD PTR _mstruct$7209[ebp+100], -1
; Line 4256
mov BYTE PTR _mstruct$7209[ebp+96], 0
; Line 4257
mov DWORD PTR _mstruct$7209[ebp+92], 1148846080 ; 447a0000H
; Line 4259
lea edx, DWORD PTR _mstruct$7209[ebp]
push edx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L7208:
; Line 4262
jmp SHORT $L7203
$L7210:
; Line 4264
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@SuperTrooper@@AAEXH@Z ; SuperTrooper::DoInit
; Line 4265
jmp SHORT $L7203
$L7211:
; Line 4270
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
mov DWORD PTR _mstruct$7212[ebp+44], ecx
; Line 4271
mov DWORD PTR _mstruct$7212[ebp+100], -1
; Line 4272
mov BYTE PTR _mstruct$7212[ebp+96], 0
; Line 4273
mov DWORD PTR _mstruct$7212[ebp+92], 1148846080 ; 447a0000H
; Line 4275
lea edx, DWORD PTR _mstruct$7212[ebp]
push edx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 4277
jmp SHORT $L7203
$L7213:
; Line 4280
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
$L7203:
; Line 4284
mov ax, 257 ; 00000101H
; Line 4285
mov esp, ebp
pop ebp
ret 8
$L11245:
DD $L7206
DD $L7211
DD $L7210
DD $L7213
DD $L7203
$L11244:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 1
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@SuperTrooper@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; SuperTrooper::CallEvent
_TEXT ENDS
PUBLIC ?SetMode@Jugg@@AAEXHD@Z ; Jugg::SetMode
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -12
_type$7226 = -8
_aimtype$7227 = -4
?SetMode@Jugg@@AAEXHD@Z PROC NEAR ; Jugg::SetMode
; Line 4292
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
mov DWORD PTR _this$[ebp], ecx
; Line 4294
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -16+[ebp], al
cmp BYTE PTR -16+[ebp], 1
je SHORT $L7225
jmp SHORT $L7221
$L7225:
; Line 4299
mov BYTE PTR _type$7226[ebp], 0
; Line 4300
mov BYTE PTR _aimtype$7227[ebp], 0
; Line 4301
push 0
lea ecx, DWORD PTR _type$7226[ebp]
push ecx
push 13 ; 0000000dH
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4302
lea eax, DWORD PTR _aimtype$7227[ebp]
push eax
push 13 ; 0000000dH
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4304
push -1
push -1
push 0
push 1082130432 ; 40800000H
push 1101004800 ; 41a00000H
push 1090519040 ; 41000000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L7221:
; Line 4309
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx+64], dl
; Line 4310
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+60], 0
; Line 4311
mov esp, ebp
pop ebp
ret 8
?SetMode@Jugg@@AAEXHD@Z ENDP ; Jugg::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Jugg@@AAEXH@Z ; Jugg::DoInit
_DATA SEGMENT
ORG $+1
$SG7240 DB 'Jugghead', 00H
ORG $+3
$SG7241 DB 'Juggheadturretright', 00H
$SG7242 DB 'Juggheadturretleft', 00H
ORG $+1
$SG7243 DB 'Juggbelly', 00H
ORG $+2
$SG7247 DB 'Jugg main turret', 00H
ORG $+3
$SG7248 DB 'Jugg flame turret', 00H
ORG $+2
$SG7249 DB 'Jugg flame turret', 00H
ORG $+2
$SG7250 DB 'Jugg flame turret', 00H
ORG $+2
$SG7251 DB 'JugFootHit', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -40
_i$ = -16
_ch$ = -32
?DoInit@Jugg@@AAEXH@Z PROC NEAR ; Jugg::DoInit
; Line 4314
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 4322
mov WORD PTR _ch$[ebp+8], 4
; Line 4323
mov DWORD PTR _ch$[ebp+12], 68 ; 00000044H
; Line 4324
mov DWORD PTR _ch$[ebp], 0
; Line 4325
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4327
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4329
push 0
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG7240
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+8], eax
; Line 4332
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG7241
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+8]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+40], eax
; Line 4334
push 0
push 1
push 0
push 2
push 2
push OFFSET FLAT:$SG7242
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+8]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+44], eax
; Line 4336
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG7243
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+12], eax
; Line 4338
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L7244
$L7245:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L7244:
cmp DWORD PTR _i$[ebp], 6
jge SHORT $L7246
; Line 4340
push 0
push 1
push 0
mov ecx, DWORD PTR _i$[ebp]
add ecx, 2
push ecx
push 2
push OFFSET FLAT:$SG7247
mov edx, DWORD PTR _me$[ebp]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _i$[ebp]
mov DWORD PTR [edx+ecx*4+16], eax
; Line 4341
jmp SHORT $L7245
$L7246:
; Line 4343
push 0
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG7248
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+12]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+48], eax
; Line 4344
push 0
push 1
push 0
push 2
push 2
push OFFSET FLAT:$SG7249
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+12]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+52], eax
; Line 4345
push 0
push 1
push 0
push 8
push 2
push OFFSET FLAT:$SG7250
mov edx, DWORD PTR _me$[ebp]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+56], eax
; Line 4347
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+65], 0
; Line 4349
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Jugg@@AAEXHD@Z ; Jugg::SetMode
; Line 4351
push OFFSET FLAT:$SG7251
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 4352
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
push 18 ; 00000012H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4353
mov esp, ebp
pop ebp
ret 4
?DoInit@Jugg@@AAEXH@Z ENDP ; Jugg::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@Jugg@@AAEXH@Z ; Jugg::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -52
_current_anim_frame$ = -8
_flags$ = -4
_h_flags$7260 = -48
?DoFrame@Jugg@@AAEXH@Z PROC NEAR ; Jugg::DoFrame
; Line 4356
push ebp
mov ebp, esp
sub esp, 52 ; 00000034H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 4361
push 0
lea eax, DWORD PTR _current_anim_frame$[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4362
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 10 ; 0000000aH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4364
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+65]
and eax, 2
test eax, eax
jne SHORT $L7261
; Line 4367
push 0
lea ecx, DWORD PTR _h_flags$7260[ebp]
push ecx
push 10 ; 0000000aH
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+8]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4369
mov edx, DWORD PTR _h_flags$7260[ebp]
and edx, 8388608 ; 00800000H
test edx, edx
je SHORT $L7261
; Line 4371
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+65]
or dl, 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+65], dl
; Line 4372
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+8]
push ecx
call DWORD PTR ?AI_PowerSwitch@@3P6AHHE@ZA ; AI_PowerSwitch
add esp, 8
; Line 4373
push 1077936128 ; 40400000H
push 1092616192 ; 41200000H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+8]
push ecx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L7261:
; Line 4377
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+65]
and ecx, 4
test ecx, ecx
jne SHORT $L7263
; Line 4379
mov edx, DWORD PTR _flags$[ebp]
and edx, 8388608 ; 00800000H
test edx, edx
je SHORT $L7263
; Line 4381
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+65]
or dl, 4
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+65], dl
; Line 4382
push 1077936128 ; 40400000H
push 1092616192 ; 41200000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L7263:
; Line 4387
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+64]
test edx, edx
jne SHORT $L7264
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+65]
and edx, 4
test edx, edx
je SHORT $L7264
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+65]
and edx, 2
test edx, edx
je SHORT $L7264
; Line 4389
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Jugg@@AAEXHD@Z ; Jugg::SetMode
$L7264:
; Line 4392
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+64]
cmp eax, 1
jne SHORT $L7265
cmp DWORD PTR _current_anim_frame$[ebp], 1101004800 ; 41a00000H
jne SHORT $L7265
; Line 4394
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_PowerSwitch@@3P6AHHE@ZA ; AI_PowerSwitch
add esp, 8
$L7265:
; Line 4397
fld DWORD PTR _current_anim_frame$[ebp]
fcomp DWORD PTR __real@4@3fff8000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7266
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fcomp DWORD PTR __real@4@3fff8000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7266
; Line 4399
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L7266:
; Line 4402
fld DWORD PTR _current_anim_frame$[ebp]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7267
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7267
; Line 4404
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L7267:
; Line 4407
fld DWORD PTR _current_anim_frame$[ebp]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7268
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7268
; Line 4409
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L7268:
; Line 4412
fld DWORD PTR _current_anim_frame$[ebp]
fcomp DWORD PTR __real@4@4001e000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7269
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fcomp DWORD PTR __real@4@4001e000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7269
; Line 4414
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L7269:
; Line 4417
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+60]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+60]
; Line 4418
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _current_anim_frame$[ebp]
mov DWORD PTR [eax], ecx
; Line 4419
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Jugg@@AAEXH@Z ENDP ; Jugg::DoFrame
_event$ = 8
_data$ = 12
_this$ = -12
_type$7283 = -4
_i$7284 = -8
?CallEvent@Jugg@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Jugg::CallEvent
; Line 4422
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
mov DWORD PTR _this$[ebp], ecx
; Line 4424
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -16+[ebp], eax
mov ecx, DWORD PTR -16+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -16+[ebp], ecx
cmp DWORD PTR -16+[ebp], 25 ; 00000019H
ja $L7276
mov eax, DWORD PTR -16+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11250[eax]
jmp DWORD PTR $L11251[edx*4]
$L7279:
; Line 4426
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Jugg@@AAEXH@Z ; Jugg::DoInit
; Line 4427
jmp $L7276
$L7280:
; Line 4429
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Jugg@@AAEXH@Z ; Jugg::DoFrame
; Line 4430
jmp $L7276
$L7281:
; Line 4433
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+65]
and ecx, 1
test ecx, ecx
jne SHORT $L7288
; Line 4438
push 0
lea edx, DWORD PTR _type$7283[ebp]
push edx
push 1
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+12]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4440
cmp DWORD PTR _type$7283[ebp], 255 ; 000000ffH
jne SHORT $L7288
; Line 4442
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+65]
or dl, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+65], dl
; Line 4444
mov DWORD PTR _i$7284[ebp], 0
jmp SHORT $L7286
$L7287:
mov edx, DWORD PTR _i$7284[ebp]
add edx, 1
mov DWORD PTR _i$7284[ebp], edx
$L7286:
cmp DWORD PTR _i$7284[ebp], 3
jge SHORT $L7288
; Line 4446
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$7284[ebp]
mov eax, DWORD PTR [ecx+edx*4+48]
push eax
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4447
jmp SHORT $L7287
$L7288:
; Line 4453
jmp SHORT $L7276
$L7290:
; Line 4456
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
$L7276:
; Line 4460
mov ax, 257 ; 00000101H
; Line 4461
mov esp, ebp
pop ebp
ret 8
$L11251:
DD $L7281
DD $L7280
DD $L7279
DD $L7290
DD $L7276
$L11250:
DB 0
DB 1
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Jugg@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Jugg::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@DTower@@AAEXH@Z ; DTower::DoInit
_DATA SEGMENT
ORG $+1
$SG7304 DB 'Ltowergun', 00H
ORG $+2
$SG7305 DB 'Ltowerball', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -40
_ch$ = -32
?DoInit@DTower@@AAEXH@Z PROC NEAR ; DTower::DoInit
; Line 4468
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 4476
mov WORD PTR _ch$[ebp+8], 4
; Line 4477
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 4478
mov DWORD PTR _ch$[ebp], 0
; Line 4479
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4481
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4483
push 0
push 1
push 0
push 0
push 11 ; 0000000bH
push OFFSET FLAT:$SG7304
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 4484
push 0
push 1
push 0
push 1
push 11 ; 0000000bH
push OFFSET FLAT:$SG7305
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 4486
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 18 ; 00000012H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4487
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+12], 0
; Line 4488
mov esp, ebp
pop ebp
ret 4
?DoInit@DTower@@AAEXH@Z ENDP ; DTower::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@DTower@@AAEXH@Z ; DTower::DoFrame
PUBLIC __real@4@4003f000000000000000
PUBLIC __real@4@4005b400000000000000
PUBLIC __real@4@40038000000000000000
_DATA SEGMENT
ORG $+1
$SG7319 DB 'TubbsHitBlast', 00H
_DATA ENDS
; COMDAT __real@4@4003f000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4003f000000000000000 DD 041f00000r ; 30
CONST ENDS
; COMDAT __real@4@4005b400000000000000
CONST SEGMENT
__real@4@4005b400000000000000 DD 042b40000r ; 90
CONST ENDS
; COMDAT __real@4@40038000000000000000
CONST SEGMENT
__real@4@40038000000000000000 DD 041800000r ; 16
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -44
_current_anim_frame$ = -4
_flags$7312 = -8
_room$7316 = -28
_pos$7317 = -40
_weapon_id$7318 = -24
_vel$7320 = -20
?DoFrame@DTower@@AAEXH@Z PROC NEAR ; DTower::DoFrame
; File aigame.cpp
; Line 4491
push ebp
mov ebp, esp
sub esp, 56 ; 00000038H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 4493
push 0
lea eax, DWORD PTR _current_anim_frame$[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4495
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax+12]
test ecx, ecx
jne SHORT $L7311
; Line 4498
push 0
lea edx, DWORD PTR _flags$7312[ebp]
push edx
push 10 ; 0000000aH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4500
mov ecx, DWORD PTR _flags$7312[ebp]
and ecx, 8388608 ; 00800000H
test ecx, ecx
je SHORT $L7313
; Line 4502
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+8], 0
; Line 4503
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 1
$L7313:
; Line 4506
jmp $L7315
$L7311:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
je $L7315
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
jne $L7315
; Line 4511
push 0
lea eax, DWORD PTR _room$7316[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4512
push 0
lea edx, DWORD PTR _pos$7317[ebp]
push edx
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
add esp, 16 ; 00000010H
; Line 4514
push OFFSET FLAT:$SG7319
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$7318[ebp], eax
; Line 4515
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
push 0
lea edx, DWORD PTR _pos$7317[ebp]
push edx
mov eax, DWORD PTR _room$7316[ebp]
push eax
mov cx, WORD PTR _weapon_id$7318[ebp]
push ecx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
; Line 4517
push 0
push 0
push 68320 ; 00010ae0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4518
push 1084227584 ; 40a00000H
push 1092616192 ; 41200000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 4520
mov DWORD PTR _vel$7320[ebp], 0
mov DWORD PTR _vel$7320[ebp+4], 0
mov DWORD PTR _vel$7320[ebp+8], 0
; Line 4521
call _rand
mov DWORD PTR -48+[ebp], eax
fild DWORD PTR -48+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003f000000000000000
fadd DWORD PTR __real@4@4005b400000000000000
fstp DWORD PTR _vel$7320[ebp+4]
; Line 4522
call _rand
mov DWORD PTR -52+[ebp], eax
fild DWORD PTR -52+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@40038000000000000000
fsub DWORD PTR __real@4@40028000000000000000
fstp DWORD PTR _vel$7320[ebp]
; Line 4523
call _rand
mov DWORD PTR -56+[ebp], eax
fild DWORD PTR -56+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@40038000000000000000
fsub DWORD PTR __real@4@40028000000000000000
fstp DWORD PTR _vel$7320[ebp+8]
; Line 4525
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+4]
push edx
call DWORD PTR ?Obj_UnattachFromParent@@3P6AXH@ZA ; Obj_UnattachFromParent
add esp, 4
; Line 4526
push 0
lea eax, DWORD PTR _vel$7320[ebp]
push eax
push 6
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4527
push 1077936128 ; 40400000H
push 1097859072 ; 41700000H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+4]
push eax
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 4529
push -1
push -1
push 0
push 1073741824 ; 40000000H
push 1092616192 ; 41200000H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L7315:
; Line 4532
cmp DWORD PTR _current_anim_frame$[ebp], 1092616192 ; 41200000H
jne SHORT $L7327
; Line 4534
push 0
push 0
push 68320 ; 00010ae0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L7327:
; Line 4537
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 4538
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _current_anim_frame$[ebp]
mov DWORD PTR [ecx+16], edx
; Line 4539
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@DTower@@AAEXH@Z ENDP ; DTower::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@DTower@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; DTower::CallEvent
; Line 4542
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4544
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 257 ; 00000101H
je SHORT $L7338
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L7337
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7340
jmp SHORT $L7334
$L7337:
; Line 4546
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@DTower@@AAEXH@Z ; DTower::DoInit
; Line 4547
jmp SHORT $L7334
$L7338:
; Line 4549
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@DTower@@AAEXH@Z ; DTower::DoFrame
; Line 4550
jmp SHORT $L7334
$L7340:
; Line 4555
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7334:
; Line 4559
mov ax, 257 ; 00000101H
; Line 4560
mov esp, ebp
pop ebp
ret 8
?CallEvent@DTower@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; DTower::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@DCollector@@AAEXH@Z ; DCollector::DoInit
_DATA SEGMENT
ORG $+2
$SG7349 DB 'Collectortarget', 00H
$SG7350 DB 'Collectorrod', 00H
ORG $+3
$SG7351 DB 'Collectorball', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@DCollector@@AAEXH@Z PROC NEAR ; DCollector::DoInit
; Line 4567
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 4569
mov WORD PTR _ch$[ebp+8], 4
; Line 4570
mov DWORD PTR _ch$[ebp+12], 16 ; 00000010H
; Line 4571
mov DWORD PTR _ch$[ebp], 0
; Line 4572
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4574
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4576
push 0
push 1
push 1
push 0
push 11 ; 0000000bH
push OFFSET FLAT:$SG7349
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+8], eax
; Line 4577
push 0
push 1
push 0
push 0
push 11 ; 0000000bH
push OFFSET FLAT:$SG7350
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+8]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], eax
; Line 4578
push 0
push 1
push 0
push 1
push 11 ; 0000000bH
push OFFSET FLAT:$SG7351
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+4]
push edx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx], eax
; Line 4580
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+12], 0
; Line 4581
mov esp, ebp
pop ebp
ret 4
?DoInit@DCollector@@AAEXH@Z ENDP ; DCollector::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@DCollector@@AAEXH@Z ; DCollector::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_type$7357 = -4
_vel$7359 = -16
?DoFrame@DCollector@@AAEXH@Z PROC NEAR ; DCollector::DoFrame
; Line 4584
push ebp
mov ebp, esp
sub esp, 32 ; 00000020H
mov DWORD PTR _this$[ebp], ecx
; Line 4585
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx+12]
test edx, edx
jne $L7358
; Line 4588
push 0
lea eax, DWORD PTR _type$7357[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+8]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4590
cmp DWORD PTR _type$7357[ebp], 255 ; 000000ffH
jne $L7358
; Line 4592
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 1
; Line 4593
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+4]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
; Line 4595
push 1077936128 ; 40400000H
push 1086324736 ; 40c00000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 4597
mov DWORD PTR _vel$7359[ebp], 0
mov DWORD PTR _vel$7359[ebp+4], 0
mov DWORD PTR _vel$7359[ebp+8], 0
; Line 4598
call _rand
mov DWORD PTR -24+[ebp], eax
fild DWORD PTR -24+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003f000000000000000
fadd DWORD PTR __real@4@4005b400000000000000
fstp DWORD PTR _vel$7359[ebp+4]
; Line 4599
call _rand
mov DWORD PTR -28+[ebp], eax
fild DWORD PTR -28+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@40028000000000000000
fsub DWORD PTR __real@4@40018000000000000000
fstp DWORD PTR _vel$7359[ebp]
; Line 4600
call _rand
mov DWORD PTR -32+[ebp], eax
fild DWORD PTR -32+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@40028000000000000000
fsub DWORD PTR __real@4@40018000000000000000
fstp DWORD PTR _vel$7359[ebp+8]
; Line 4601
push 0
lea ecx, DWORD PTR _vel$7359[ebp]
push ecx
push 6
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4602
push 1077936128 ; 40400000H
push 1097859072 ; 41700000H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L7358:
; Line 4605
mov esp, ebp
pop ebp
ret 4
?DoFrame@DCollector@@AAEXH@Z ENDP ; DCollector::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@DCollector@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; DCollector::CallEvent
; Line 4608
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4610
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 257 ; 00000101H
je SHORT $L7376
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L7375
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7378
jmp SHORT $L7372
$L7375:
; Line 4612
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@DCollector@@AAEXH@Z ; DCollector::DoInit
; Line 4613
jmp SHORT $L7372
$L7376:
; Line 4615
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@DCollector@@AAEXH@Z ; DCollector::DoFrame
; Line 4616
jmp SHORT $L7372
$L7378:
; Line 4621
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7372:
; Line 4625
mov ax, 257 ; 00000101H
; Line 4626
mov esp, ebp
pop ebp
ret 8
?CallEvent@DCollector@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; DCollector::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@CBall@@AAEXH@Z ; CBall::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@CBall@@AAEXH@Z PROC NEAR ; CBall::DoInit
; Line 4633
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 4635
mov WORD PTR _ch$[ebp+8], 4
; Line 4636
mov DWORD PTR _ch$[ebp+12], 8
; Line 4637
mov DWORD PTR _ch$[ebp], 0
; Line 4638
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 4640
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 4642
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 0
; Line 4643
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], 0
; Line 4644
mov esp, ebp
pop ebp
ret 4
?DoInit@CBall@@AAEXH@Z ENDP ; CBall::DoInit
_TEXT ENDS
PUBLIC __real@4@4002c000000000000000
PUBLIC ?DoFrame@CBall@@AAEXH@Z ; CBall::DoFrame
; COMDAT __real@4@4002c000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4002c000000000000000 DD 041400000r ; 12
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -8
_f_picked_up$ = -4
?DoFrame@CBall@@AAEXH@Z PROC NEAR ; CBall::DoFrame
; File aigame.cpp
; Line 4647
push ebp
mov ebp, esp
sub esp, 8
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 4650
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_GetAttachParent@@3P6AHH@ZA ; Obj_GetAttachParent
add esp, 4
xor ecx, ecx
cmp eax, -1
setne cl
mov BYTE PTR _f_picked_up$[ebp], cl
; Line 4652
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax]
test ecx, ecx
jne SHORT $L7392
mov edx, DWORD PTR _f_picked_up$[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L7392
; Line 4654
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 1
; Line 4656
jmp SHORT $L7395
$L7392:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax]
test ecx, ecx
je SHORT $L7395
mov edx, DWORD PTR _f_picked_up$[ebp]
and edx, 255 ; 000000ffH
test edx, edx
jne SHORT $L7395
; Line 4658
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 4660
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4002c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7395
; Line 4662
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L7395:
; Line 4665
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@CBall@@AAEXH@Z ENDP ; CBall::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@CBall@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; CBall::CallEvent
; Line 4668
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4670
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 256 ; 00000100H
je SHORT $L7406
cmp DWORD PTR -8+[ebp], 260 ; 00000104H
je SHORT $L7405
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7408
jmp SHORT $L7402
$L7405:
; Line 4672
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@CBall@@AAEXH@Z ; CBall::DoInit
; Line 4673
jmp SHORT $L7402
$L7406:
; Line 4675
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@CBall@@AAEXH@Z ; CBall::DoFrame
; Line 4676
jmp SHORT $L7402
$L7408:
; Line 4681
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7402:
; Line 4685
mov ax, 257 ; 00000101H
; Line 4686
mov esp, ebp
pop ebp
ret 8
?CallEvent@CBall@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; CBall::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@SixGun@@AAEXH@Z ; SixGun::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -948
_m$ = -944
_ch$ = -24
_flags$ = -4
_temp$ = -8
?DoInit@SixGun@@AAEXH@Z PROC NEAR ; SixGun::DoInit
; Line 4693
push ebp
mov ebp, esp
sub esp, 948 ; 000003b4H
mov DWORD PTR _this$[ebp], ecx
; Line 4695
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 4698
mov WORD PTR _ch$[ebp+8], 4
; Line 4699
mov DWORD PTR _ch$[ebp+12], 12 ; 0000000cH
; Line 4700
mov DWORD PTR _ch$[ebp], 0
; Line 4701
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], ecx
; Line 4703
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 4705
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax], 0
; Line 4706
mov DWORD PTR _flags$[ebp], 1
; Line 4707
push 0
lea ecx, DWORD PTR _flags$[ebp]
push ecx
push 2
push 3
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 4709
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 4
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4710
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 8
push ecx
push 7
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4712
mov DWORD PTR _temp$[ebp], 0
; Line 4713
lea eax, DWORD PTR _temp$[ebp]
push eax
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4714
mov DWORD PTR _temp$[ebp], 1101004800 ; 41a00000H
; Line 4715
lea edx, DWORD PTR _temp$[ebp]
push edx
push 7
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4716
mov esp, ebp
pop ebp
ret 4
?DoInit@SixGun@@AAEXH@Z ENDP ; SixGun::DoInit
_TEXT ENDS
PUBLIC ?DoNotify@SixGun@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; SixGun::DoNotify
_TEXT SEGMENT
_me$ = 8
_notify$ = 12
_this$ = -8
_flags$7428 = -4
?DoNotify@SixGun@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z PROC NEAR ; SixGun::DoNotify
; Line 4719
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4720
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx], 0
jne $L7426
; Line 4722
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx], 8
je SHORT $L7427
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax], 13 ; 0000000dH
je SHORT $L7427
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 14 ; 0000000eH
je SHORT $L7427
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx], 22 ; 00000016H
jne $L7426
$L7427:
; Line 4724
mov DWORD PTR _flags$7428[ebp], 1
; Line 4725
push 0
lea eax, DWORD PTR _flags$7428[ebp]
push eax
push 2
push 2
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 4727
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 4
push eax
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4728
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 8
push eax
push 7
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4729
push -1
push 21 ; 00000015H
push -1
push 1065353216 ; 3f800000H
push 0
push 524288 ; 00080000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 4730
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 1
$L7426:
; Line 4734
mov al, 1
; Line 4735
mov esp, ebp
pop ebp
ret 8
?DoNotify@SixGun@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ENDP ; SixGun::DoNotify
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@SixGun@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SixGun::CallEvent
; Line 4738
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 4740
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 272 ; 00000110H
je SHORT $L7439
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L7438
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L7441
jmp SHORT $L7435
$L7438:
; Line 4742
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@SixGun@@AAEXH@Z ; SixGun::DoInit
; Line 4743
jmp SHORT $L7435
$L7439:
; Line 4745
mov eax, DWORD PTR _data$[ebp]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@SixGun@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; SixGun::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L7433
$L7441:
; Line 4751
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
$L7435:
; Line 4755
mov ax, 257 ; 00000101H
$L7433:
; Line 4756
mov esp, ebp
pop ebp
ret 8
?CallEvent@SixGun@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; SixGun::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@ExplodeTimeOut@@AAEXH@Z ; ExplodeTimeOut::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -940
_m$ = -936
_ch$ = -16
?DoInit@ExplodeTimeOut@@AAEXH@Z PROC NEAR ; ExplodeTimeOut::DoInit
; Line 4763
push ebp
mov ebp, esp
sub esp, 940 ; 000003acH
mov DWORD PTR _this$[ebp], ecx
; Line 4765
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 4768
mov WORD PTR _ch$[ebp+8], 4
; Line 4769
mov DWORD PTR _ch$[ebp+12], 4
; Line 4770
mov DWORD PTR _ch$[ebp], 0
; Line 4771
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], ecx
; Line 4773
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 4774
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax], 1126170624 ; 43200000H
; Line 4775
mov esp, ebp
pop ebp
ret 4
?DoInit@ExplodeTimeOut@@AAEXH@Z ENDP ; ExplodeTimeOut::DoInit
_event$ = 8
_data$ = 12
_this$ = -924
_mstruct$7463 = -920
?CallEvent@ExplodeTimeOut@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; ExplodeTimeOut::CallEvent
; Line 4778
push ebp
mov ebp, esp
sub esp, 928 ; 000003a0H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 4780
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -928+[ebp], eax
cmp DWORD PTR -928+[ebp], 256 ; 00000100H
je SHORT $L7461
cmp DWORD PTR -928+[ebp], 273 ; 00000111H
je SHORT $L7460
cmp DWORD PTR -928+[ebp], 281 ; 00000119H
je $L7465
jmp $L7457
$L7460:
; Line 4782
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@ExplodeTimeOut@@AAEXH@Z ; ExplodeTimeOut::DoInit
; Line 4783
jmp SHORT $L7457
$L7461:
; Line 4786
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fsubr DWORD PTR [esi]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx]
; Line 4787
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L7462
; Line 4791
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
mov DWORD PTR _mstruct$7463[ebp+44], eax
; Line 4792
mov DWORD PTR _mstruct$7463[ebp+100], -1
; Line 4793
mov BYTE PTR _mstruct$7463[ebp+96], 0
; Line 4794
mov DWORD PTR _mstruct$7463[ebp+92], 1148846080 ; 447a0000H
; Line 4796
lea ecx, DWORD PTR _mstruct$7463[ebp]
push ecx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L7462:
; Line 4799
jmp SHORT $L7457
$L7465:
; Line 4804
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L7457:
; Line 4808
mov ax, 257 ; 00000101H
; Line 4809
pop esi
mov esp, ebp
pop ebp
ret 8
?CallEvent@ExplodeTimeOut@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; ExplodeTimeOut::CallEvent
_TEXT ENDS
PUBLIC ?ReInitAmbient@GuideBot@@AAEXH@Z ; GuideBot::ReInitAmbient
_TEXT SEGMENT
_me$ = 8
_this$ = -12
_flags$7472 = -8
_dir_index$ = -4
?ReInitAmbient@GuideBot@@AAEXH@Z PROC NEAR ; GuideBot::ReInitAmbient
; Line 4817
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 4818
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3fff8000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+80]
; Line 4821
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+72], 43 ; 0000002bH
je SHORT $L7471
; Line 4823
mov DWORD PTR _flags$7472[ebp], 33554432 ; 02000000H
; Line 4824
lea ecx, DWORD PTR _flags$7472[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L7471:
; Line 4827
call _rand
cdq
mov ecx, 6
idiv ecx
mov DWORD PTR _dir_index$[ebp], edx
; Line 4828
mov edx, DWORD PTR _dir_index$[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 4
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 4829
push 1104674816 ; 41d80000H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 4830
mov esp, ebp
pop ebp
ret 4
?ReInitAmbient@GuideBot@@AAEXH@Z ENDP ; GuideBot::ReInitAmbient
_TEXT ENDS
PUBLIC ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
_DATA SEGMENT
ORG $+2
$SG7488 DB 01H, 0adH, 0adH, 01H, '%s:', 01H, 01H, 0adH, 01H, ' %s', 00H
_DATA ENDS
_TEXT SEGMENT
_str$ = 8
_f_high_priority$ = 12
_sound_name$ = 16
_f_sound_2d$ = 20
_this$ = -264
_s_id$7484 = -260
_gb_message$7487 = -256
?DoMessage@GuideBot@@AAEXPAD_N01@Z PROC NEAR ; GuideBot::DoMessage
; Line 4833
push ebp
mov ebp, esp
sub esp, 268 ; 0000010cH
mov DWORD PTR _this$[ebp], ecx
; Line 4834
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 8
test edx, edx
je SHORT $L7481
mov eax, DWORD PTR _f_high_priority$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne SHORT $L7481
; Line 4835
jmp $L7480
$L7481:
; Line 4837
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+84]
fadd DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -268+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -268+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L7482
; Line 4839
cmp DWORD PTR _sound_name$[ebp], 0
je SHORT $L7486
; Line 4841
mov eax, DWORD PTR _sound_name$[ebp]
push eax
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_id$7484[ebp], eax
; Line 4842
mov ecx, DWORD PTR _f_sound_2d$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L7485
; Line 4843
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _s_id$7484[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?Sound_Play2d@@3P6AHHHM@ZA ; Sound_Play2d
add esp, 12 ; 0000000cH
; Line 4844
jmp SHORT $L7486
$L7485:
; Line 4845
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _s_id$7484[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L7486:
; Line 4848
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+84]
; Line 4852
mov eax, DWORD PTR _str$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
push OFFSET FLAT:$SG7488
lea eax, DWORD PTR _gb_message$7487[ebp]
push eax
call _sprintf
add esp, 16 ; 00000010H
; Line 4853
lea ecx, DWORD PTR _gb_message$7487[ebp]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Player_AddHudMessage@@3P6AXHPAD@ZA ; Player_AddHudMessage
add esp, 8
$L7482:
$L7480:
; Line 4855
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?DoMessage@GuideBot@@AAEXPAD_N01@Z ENDP ; GuideBot::DoMessage
_TEXT ENDS
PUBLIC ?SetSubMode@GuideBot@@AAE_NHDH@Z ; GuideBot::SetSubMode
_TEXT SEGMENT
_me$ = 8
_sub_mode$ = 12
_it$ = 16
_this$ = -8
_dist$7500 = -4
?SetSubMode@GuideBot@@AAE_NHDH@Z PROC NEAR ; GuideBot::SetSubMode
; Line 4858
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 4860
mov al, BYTE PTR _sub_mode$[ebp]
mov BYTE PTR -12+[ebp], al
cmp BYTE PTR -12+[ebp], 2
je SHORT $L7499
jmp SHORT $L7496
$L7499:
; Line 4863
mov DWORD PTR _dist$7500[ebp], -971227136 ; c61c4000H
; Line 4864
mov ecx, DWORD PTR _it$[ebp]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 2
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 4865
push 0
lea eax, DWORD PTR _dist$7500[ebp]
push eax
push 26 ; 0000001aH
push 0
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
$L7496:
; Line 4874
movsx edx, BYTE PTR _sub_mode$[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+56], edx
; Line 4877
mov al, 1
; Line 4878
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
?SetSubMode@GuideBot@@AAE_NHDH@Z ENDP ; GuideBot::SetSubMode
_TEXT ENDS
PUBLIC __real@4@3fff99999a0000000000
PUBLIC ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
_DATA SEGMENT
ORG $+1
$SG7538 DB 'GBExpulsionA', 00H
ORG $+3
$SG7546 DB 'GBotConcern1', 00H
ORG $+3
$SG7548 DB 'GBotHurt1', 00H
_DATA ENDS
; COMDAT __real@4@3fff99999a0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3fff99999a0000000000 DD 03f99999ar ; 1.2
CONST ENDS
_TEXT SEGMENT
$T11278 = -2880
$T11279 = -2892
$T11280 = -2904
$T11281 = -2916
$T11282 = -2928
$T11283 = -2940
$T11284 = -2952
$T11285 = -2964
_me$ = 8
_mode$ = 12
_this$ = -2968
_dist$ = -12
_g_index$ = -8
_wbflags$ = -4
_mstruct$7511 = -932
_i$7519 = -936
_m$7524 = -1856
_room$7526 = -2840
_pos$7527 = -2852
_orient$7528 = -1916
_vel$7529 = -1872
_flags$7530 = -1860
_m$7533 = -2836
_time$7534 = -1876
_s_id$7537 = -1880
_flags$7545 = -2856
_s_index$7547 = -2860
_flags$7552 = -2864
_dir_index$7553 = -2868
?SetMode@GuideBot@@AAE_NHD@Z PROC NEAR ; GuideBot::SetMode
; File aigame.cpp
; Line 4881
push ebp
mov ebp, esp
sub esp, 2972 ; 00000b9cH
mov DWORD PTR _this$[ebp], ecx
; Line 4882
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 4883
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+36], 0
; Line 4885
mov DWORD PTR _dist$[ebp], 1082130432 ; 40800000H
; Line 4886
push -1
push 16 ; 00000010H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$[ebp], eax
; Line 4887
push 0
lea ecx, DWORD PTR _dist$[ebp]
push ecx
push 26 ; 0000001aH
push 0
mov dl, BYTE PTR _g_index$[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 4889
mov DWORD PTR _wbflags$[ebp], 1
; Line 4890
push 0
lea ecx, DWORD PTR _wbflags$[ebp]
push ecx
push 2
push 3
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 4892
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 10 ; 0000000aH
jne $L7510
movsx edx, BYTE PTR _mode$[ebp]
cmp edx, 10 ; 0000000aH
je $L7510
; Line 4896
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 64 ; 00000040H
test edx, edx
je SHORT $L7512
; Line 4898
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, -65 ; ffffffbfH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+88], edx
; Line 4899
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+108]
mov DWORD PTR _mstruct$7511[ebp+72], ecx
; Line 4900
lea edx, DWORD PTR _mstruct$7511[ebp]
push edx
push 34 ; 00000022H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L7512:
; Line 4903
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+108]
mov DWORD PTR _mstruct$7511[ebp+72], edx
; Line 4904
lea eax, DWORD PTR _mstruct$7511[ebp]
push eax
push 34 ; 00000022H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 4905
push 0
push -1
push 2
push 1067030938 ; 3f99999aH
push 1109655552 ; 42240000H
push 1107558400 ; 42040000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L7510:
; Line 4909
movsx edx, BYTE PTR _mode$[ebp]
mov DWORD PTR -2972+[ebp], edx
mov eax, DWORD PTR -2972+[ebp]
sub eax, 1
mov DWORD PTR -2972+[ebp], eax
cmp DWORD PTR -2972+[ebp], 11 ; 0000000bH
ja $L7514
mov ecx, DWORD PTR -2972+[ebp]
jmp DWORD PTR $L11288[ecx*4]
$L7518:
; Line 4915
push 0
push 0
push 1
push 44 ; 0000002cH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 4917
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 4918
mov DWORD PTR _i$7519[ebp], 0
jmp SHORT $L7520
$L7521:
mov eax, DWORD PTR _i$7519[ebp]
add eax, 1
mov DWORD PTR _i$7519[ebp], eax
$L7520:
cmp DWORD PTR _i$7519[ebp], 5
jge SHORT $L7522
; Line 4920
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$7519[ebp]
cmp DWORD PTR [edx+eax*4+16], -1
je SHORT $L7523
; Line 4922
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$7519[ebp]
mov ecx, DWORD PTR [edx+eax*4+16]
push ecx
call DWORD PTR ?Sound_Stop@@3P6AXH_N@ZA ; Sound_Stop
add esp, 8
; Line 4923
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$7519[ebp]
mov DWORD PTR [eax+ecx*4+16], -1
$L7523:
; Line 4925
jmp SHORT $L7521
$L7522:
; Line 4928
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
mov DWORD PTR _m$7524[ebp+44], ecx
; Line 4929
mov DWORD PTR _m$7524[ebp+68], 2
; Line 4930
mov DWORD PTR _m$7524[ebp+72], 0
; Line 4931
mov DWORD PTR _m$7524[ebp+592], 0
; Line 4933
lea edx, DWORD PTR _m$7524[ebp]
push edx
push 200 ; 000000c8H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 4935
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Ghost@@3P6AXH_N@ZA ; Obj_Ghost
add esp, 8
; Line 4936
mov BYTE PTR _mode$[ebp], 0
; Line 4938
jmp $L7514
$L7525:
; Line 4947
mov DWORD PTR _flags$7530[ebp], 33554432 ; 02000000H
; Line 4948
lea ecx, DWORD PTR _flags$7530[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 4950
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+48], 1
; Line 4951
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+49], 0
; Line 4952
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+104], 0
; Line 4954
push 0
push -1
push 18 ; 00000012H
push 1065353216 ; 3f800000H
push 1094713344 ; 41400000H
push 1086324736 ; 40c00000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 4956
push 0
lea ecx, DWORD PTR _room$7526[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4957
push 0
lea edx, DWORD PTR _pos$7527[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4958
push 0
lea eax, DWORD PTR _orient$7528[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4960
push 0
lea ecx, DWORD PTR _room$7526[ebp]
push ecx
push 5
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4961
push 0
lea eax, DWORD PTR _pos$7527[ebp]
push eax
push 3
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4962
push 0
lea edx, DWORD PTR _orient$7528[ebp]
push edx
push 4
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4964
push 0
lea ecx, DWORD PTR _vel$7529[ebp]
push ecx
push 6
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4966
push 1109393408 ; 42200000H
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _orient$7528[ebp+24]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _orient$7528[ebp+28]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _orient$7528[ebp+32]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T11280[ebp]
push ecx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11279[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11279[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11279[ebp+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11279[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11279[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11279[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR _vel$7529[ebp]
push edx
lea eax, DWORD PTR $T11281[ebp]
push eax
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11278[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11278[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11278[ebp+8], eax
; Line 4968
push 0
lea ecx, DWORD PTR _vel$7529[ebp]
push ecx
push 6
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4970
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Ghost@@3P6AXH_N@ZA ; Obj_Ghost
add esp, 8
; Line 4973
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
mov DWORD PTR _m$7533[ebp+44], eax
; Line 4974
mov DWORD PTR _m$7533[ebp+68], 2
; Line 4975
mov DWORD PTR _m$7533[ebp+72], 0
; Line 4976
mov DWORD PTR _m$7533[ebp+592], 0
; Line 4978
lea ecx, DWORD PTR _m$7533[ebp]
push ecx
push 203 ; 000000cbH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 4980
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR _time$7534[ebp]
; Line 4981
push 0
lea edx, DWORD PTR _time$7534[ebp]
push edx
push 14 ; 0000000eH
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4982
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 44 ; 0000002cH
push edx
push 17 ; 00000011H
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 4984
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3fff99999a0000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+80]
; Line 4989
push 1128792064 ; 43480000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$7528[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$7528[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$7528[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11284[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11283[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11283[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11283[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11283[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11283[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11283[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _pos$7527[ebp]
push eax
lea ecx, DWORD PTR $T11285[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11282[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11282[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11282[ebp+8], edx
; Line 4991
mov eax, DWORD PTR _room$7526[ebp]
push eax
lea ecx, DWORD PTR _pos$7527[ebp]
push ecx
push 136 ; 00000088H
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 4992
push 1065353216 ; 3f800000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 4994
push OFFSET FLAT:$SG7538
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_id$7537[ebp], eax
; Line 4995
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _s_id$7537[ebp]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 4997
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+72], -1
; Line 4999
jmp $L7514
$L7539:
; Line 5002
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?ReInitAmbient@GuideBot@@AAEXH@Z ; GuideBot::ReInitAmbient
; Line 5004
jmp $L7514
$L7540:
; Line 5006
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+96]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [edx+96]
mov DWORD PTR [ecx+92], edx
; Line 5007
jmp $L7514
$L7544:
; Line 5019
mov DWORD PTR _flags$7545[ebp], 33554432 ; 02000000H
; Line 5020
lea eax, DWORD PTR _flags$7545[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5022
push 0
push OFFSET FLAT:$SG7546
push 1
push 45 ; 0000002dH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5024
push OFFSET FLAT:$SG7548
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_index$7547[ebp], eax
; Line 5025
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _s_index$7547[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+16], eax
; Line 5027
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5028
push -1082130432 ; bf800000H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5030
push 1065353216 ; 3f800000H
push 1232348160 ; 49742400H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 5031
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+88], 1
; Line 5033
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+49], 1
; Line 5035
jmp $L7514
$L7551:
; Line 5042
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 5043
mov DWORD PTR _flags$7552[ebp], 65536 ; 00010000H
; Line 5044
push 0
lea edx, DWORD PTR _flags$7552[ebp]
push edx
push 36 ; 00000024H
push 2
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 5046
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3fff8000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+80]
; Line 5049
mov DWORD PTR _flags$7552[ebp], 33554432 ; 02000000H
; Line 5050
lea eax, DWORD PTR _flags$7552[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5052
call _rand
cdq
mov ecx, 6
idiv ecx
mov DWORD PTR _dir_index$7553[ebp], edx
; Line 5053
mov edx, DWORD PTR _dir_index$7553[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 4
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 5054
push 1104674816 ; 41d80000H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5056
push 0
lea edx, DWORD PTR _wbflags$[ebp]
push edx
push 2
push 2
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 5058
jmp SHORT $L7514
$L7554:
; Line 5061
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+112]
push eax
push 262148 ; 00040004H
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 5063
push 1101004800 ; 41a00000H
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5064
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+136], 0
; Line 5065
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@40008000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+80]
$L7514:
; Line 5069
movsx ecx, BYTE PTR _mode$[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+52], ecx
; Line 5070
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+56], 0
; Line 5074
mov al, 1
; Line 5075
mov esp, ebp
pop ebp
ret 8
$L11288:
DD $L7539
DD $L7540
DD $L7514
DD $L7514
DD $L7514
DD $L7544
DD $L7514
DD $L7514
DD $L7551
DD $L7554
DD $L7525
DD $L7518
?SetMode@GuideBot@@AAE_NHD@Z ENDP ; GuideBot::SetMode
_TEXT ENDS
PUBLIC ?InitExtinguish@GuideBot@@AAE_N_N@Z ; GuideBot::InitExtinguish
_TEXT SEGMENT
_f_player_on_fire$ = 8
_this$ = -128
_pos$ = -124
_room$ = -112
_scan_objs$ = -104
_n_scan$ = -4
_i$ = -108
?InitExtinguish@GuideBot@@AAE_N_N@Z PROC NEAR ; GuideBot::InitExtinguish
; Line 5078
push ebp
mov ebp, esp
sub esp, 128 ; 00000080H
mov DWORD PTR _this$[ebp], ecx
; Line 5085
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+132], 0
; Line 5086
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5087
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5089
push 1
push 0
push 0
push 0
push 25 ; 00000019H
lea ecx, DWORD PTR _scan_objs$[ebp]
push ecx
push 1148846080 ; 447a0000H
mov edx, DWORD PTR _room$[ebp]
push edx
lea eax, DWORD PTR _pos$[ebp]
push eax
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$[ebp], eax
; Line 5091
mov ecx, DWORD PTR _f_player_on_fire$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L7564
; Line 5093
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR [ecx+132]
mov eax, DWORD PTR [eax+44]
mov DWORD PTR [edx+ecx*4+112], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+132]
add eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+132], eax
$L7564:
; Line 5097
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L7565
$L7566:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L7565:
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR _n_scan$[ebp]
jge $L7567
; Line 5099
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+132], 5
jl SHORT $L7568
; Line 5100
jmp $L7567
$L7568:
; Line 5102
mov ecx, DWORD PTR _f_player_on_fire$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L7569
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
cmp edx, DWORD PTR [eax+44]
jne SHORT $L7569
; Line 5103
jmp $L7567
$L7569:
; Line 5105
push 8
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _scan_objs$[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_IsEffect@@3P6A_NHH@ZA ; Obj_IsEffect
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L7572
; Line 5108
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
cmp edx, DWORD PTR [eax+100]
je SHORT $L7572
; Line 5110
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _scan_objs$[ebp+eax*4]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+100]
push ecx
call DWORD PTR ?AI_IsObjEnemy@@3P6A_NHH@ZA ; AI_IsObjEnemy
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
jne SHORT $L7572
; Line 5113
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR [edx+132]
mov edx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+edx*4]
mov DWORD PTR [eax+ecx*4+112], edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+132]
add edx, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+132], edx
$L7572:
; Line 5117
jmp $L7566
$L7567:
; Line 5119
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+132], 0
je SHORT $L7573
; Line 5121
push 10 ; 0000000aH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 5122
mov al, 1
jmp SHORT $L7574
$L7573:
; Line 5126
xor al, al
$L7574:
; Line 5128
mov esp, ebp
pop ebp
ret 4
?InitExtinguish@GuideBot@@AAE_N_N@Z ENDP ; GuideBot::InitExtinguish
_TEXT ENDS
PUBLIC ?MakeCommandList@GuideBot@@AAEHPAH@Z ; GuideBot::MakeCommandList
_DATA SEGMENT
ORG $+2
$SG7615 DB 'Thief', 00H
_DATA ENDS
_TEXT SEGMENT
_gbc_list$ = 8
_this$ = -40
_count$ = -4
_i$ = -8
_roomnum$7588 = -12
_handle$7602 = -16
_handle$7606 = -20
_handle$7610 = -24
_id$7614 = -32
_handle$7616 = -28
_handle$7621 = -36
?MakeCommandList@GuideBot@@AAEHPAH@Z PROC NEAR ; GuideBot::MakeCommandList
; Line 5131
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 5132
mov DWORD PTR _count$[ebp], 0
; Line 5135
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 0
jne SHORT $L7581
; Line 5137
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L7582
$L7583:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L7582:
cmp DWORD PTR _i$[ebp], 2
jg SHORT $L7584
; Line 5139
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 1
test edx, edx
jne SHORT $L7585
cmp DWORD PTR _i$[ebp], 1
jne SHORT $L7585
; Line 5140
jmp SHORT $L7583
$L7585:
; Line 5142
mov eax, DWORD PTR _count$[ebp]
mov ecx, DWORD PTR _gbc_list$[ebp]
mov edx, DWORD PTR _i$[ebp]
mov DWORD PTR [ecx+eax*4], edx
mov eax, DWORD PTR _count$[ebp]
add eax, 1
mov DWORD PTR _count$[ebp], eax
; Line 5143
jmp SHORT $L7583
$L7584:
; Line 5145
jmp $L7591
$L7581:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+52], 1
jne $L7591
; Line 5148
push 0
lea eax, DWORD PTR _roomnum$7588[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5150
push -1
push -1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 64 ; 00000040H
push edx
push 1
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5151
push -1
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 3
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5153
mov DWORD PTR _i$[ebp], 3
jmp SHORT $L7589
$L7590:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L7589:
cmp DWORD PTR _i$[ebp], 44 ; 0000002cH
jge $L7591
; Line 5155
cmp DWORD PTR _i$[ebp], 3
jl SHORT $L7592
cmp DWORD PTR _i$[ebp], 10 ; 0000000aH
jg SHORT $L7592
; Line 5157
mov eax, DWORD PTR _i$[ebp]
sub eax, 3
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp eax, DWORD PTR [edx+64]
jl SHORT $L7593
; Line 5158
jmp SHORT $L7590
$L7593:
; Line 5160
jmp $L7633
$L7592:
cmp DWORD PTR _i$[ebp], 11 ; 0000000bH
jl SHORT $L7595
cmp DWORD PTR _i$[ebp], 18 ; 00000012H
jg SHORT $L7595
; Line 5162
mov eax, DWORD PTR _i$[ebp]
sub eax, 11 ; 0000000bH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp eax, DWORD PTR [edx+68]
jl SHORT $L7596
; Line 5163
jmp SHORT $L7590
$L7596:
; Line 5165
jmp $L7633
$L7595:
cmp DWORD PTR _i$[ebp], 27 ; 0000001bH
jl SHORT $L7598
cmp DWORD PTR _i$[ebp], 34 ; 00000022H
jg SHORT $L7598
; Line 5167
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 60 ; 0000003cH
push ecx
push 1
push -1
push 0
mov edx, DWORD PTR _i$[ebp]
sub edx, 27 ; 0000001bH
push edx
push 15 ; 0000000fH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7599
; Line 5168
jmp $L7590
$L7599:
; Line 5170
jmp $L7633
$L7598:
cmp DWORD PTR _i$[ebp], 19 ; 00000013H
jne SHORT $L7601
; Line 5173
lea eax, DWORD PTR _handle$7602[ebp]
push eax
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 0
push -1
push 7
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7603
; Line 5174
jmp $L7590
$L7603:
; Line 5176
jmp $L7633
$L7601:
cmp DWORD PTR _i$[ebp], 20 ; 00000014H
jne SHORT $L7605
; Line 5179
lea ecx, DWORD PTR _handle$7606[ebp]
push ecx
push 1
push -1
push 0
push -1
push 7
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+100]
push ecx
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7607
; Line 5180
jmp $L7590
$L7607:
; Line 5182
jmp $L7633
$L7605:
cmp DWORD PTR _i$[ebp], 22 ; 00000016H
jne SHORT $L7609
; Line 5185
lea edx, DWORD PTR _handle$7610[ebp]
push edx
push 1
push -1
push 0
push -1
push 2
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7611
; Line 5186
jmp $L7590
$L7611:
; Line 5188
jmp $L7633
$L7609:
cmp DWORD PTR _i$[ebp], 23 ; 00000017H
jne SHORT $L7613
; Line 5190
push OFFSET FLAT:$SG7615
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _id$7614[ebp], eax
; Line 5193
cmp DWORD PTR _id$7614[ebp], 0
jl SHORT $L7618
lea eax, DWORD PTR _handle$7616[ebp]
push eax
push 1
push -1
push 0
mov ecx, DWORD PTR _id$7614[ebp]
push ecx
push 2
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+100]
push ecx
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7617
$L7618:
; Line 5194
jmp $L7590
$L7617:
; Line 5196
jmp $L7633
$L7613:
cmp DWORD PTR _i$[ebp], 26 ; 0000001aH
jne SHORT $L7620
; Line 5199
lea edx, DWORD PTR _handle$7621[ebp]
push edx
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 0
push -1
push 15 ; 0000000fH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?Obj_MakeListOfType@@3P6AHHHH_NHHPAH@ZA ; Obj_MakeListOfType
add esp, 28 ; 0000001cH
test eax, eax
jne SHORT $L7622
; Line 5200
jmp $L7590
$L7622:
; Line 5202
jmp SHORT $L7633
$L7620:
cmp DWORD PTR _i$[ebp], 36 ; 00000024H
jl SHORT $L7624
cmp DWORD PTR _i$[ebp], 41 ; 00000029H
jge SHORT $L7624
; Line 5204
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
movsx eax, BYTE PTR [ecx+edx-28]
test eax, eax
jg SHORT $L7625
; Line 5205
jmp $L7590
$L7625:
; Line 5207
jmp SHORT $L7633
$L7624:
cmp DWORD PTR _i$[ebp], 24 ; 00000018H
jne SHORT $L7627
; Line 5208
jmp $L7590
$L7627:
; Line 5209
cmp DWORD PTR _i$[ebp], 25 ; 00000019H
jne SHORT $L7629
; Line 5210
jmp $L7590
$L7629:
; Line 5211
cmp DWORD PTR _i$[ebp], 42 ; 0000002aH
jne SHORT $L7631
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+88]
and eax, 8
test eax, eax
je SHORT $L7631
; Line 5212
jmp $L7590
$L7631:
; Line 5213
cmp DWORD PTR _i$[ebp], 41 ; 00000029H
jne SHORT $L7633
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+88]
and eax, 8
test eax, eax
jne SHORT $L7633
; Line 5214
jmp $L7590
$L7633:
; Line 5216
mov ecx, DWORD PTR _count$[ebp]
mov edx, DWORD PTR _gbc_list$[ebp]
mov eax, DWORD PTR _i$[ebp]
mov DWORD PTR [edx+ecx*4], eax
mov ecx, DWORD PTR _count$[ebp]
add ecx, 1
mov DWORD PTR _count$[ebp], ecx
; Line 5217
jmp $L7590
$L7591:
; Line 5220
mov eax, DWORD PTR _count$[ebp]
; Line 5221
mov esp, ebp
pop ebp
ret 4
?MakeCommandList@GuideBot@@AAEHPAH@Z ENDP ; GuideBot::MakeCommandList
_TEXT ENDS
PUBLIC ?DoInit@GuideBot@@AAE_NH_N@Z ; GuideBot::DoInit
PUBLIC ?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z ; GuideBot::DoExternalCommands
EXTRN __chkstk:NEAR
EXTRN _strcat:NEAR
EXTRN _strlen:NEAR
EXTRN _strncpy:NEAR
_DATA SEGMENT
ORG $+2
$SG7644 DB 'Command %d for GB', 0aH, 00H
ORG $+1
$SG7664 DB 'GBotConcern1', 00H
ORG $+3
$SG7667 DB 'GBotConcern1', 00H
ORG $+3
$SG7676 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7678 DB 'GBotConcern1', 00H
ORG $+3
$SG7683 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7685 DB 'GBotConcern1', 00H
ORG $+3
$SG7695 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7697 DB 'GBotConcern1', 00H
ORG $+3
$SG7701 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7704 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7708 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7710 DB 'GBotConcern1', 00H
ORG $+3
$SG7714 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7716 DB 'GBotConcern1', 00H
ORG $+3
$SG7726 DB '...', 00H
$SG7727 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7729 DB 'GBotConcern1', 00H
ORG $+3
$SG7739 DB '...', 00H
$SG7740 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7742 DB 'GBotConcern1', 00H
ORG $+3
$SG7746 DB 'Thief', 00H
ORG $+2
$SG7749 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7751 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7753 DB 'GBotConcern1', 00H
ORG $+3
$SG7757 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7759 DB 'GBotConcern1', 00H
ORG $+3
$SG7762 DB 'GBotConcern1', 00H
ORG $+3
$SG7765 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7770 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7772 DB 'GBotConcern1', 00H
ORG $+3
$SG7777 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7781 DB 'GBotConcern1', 00H
ORG $+3
$SG7809 DB 'FunkyEffect3', 00H
ORG $+3
$SG7815 DB '%s', 00H
ORG $+1
$SG7816 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7818 DB '%s', 00H
ORG $+1
$SG7819 DB 'GBotConcern1', 00H
ORG $+3
$SG7827 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7830 DB 'GBotConcern1', 00H
ORG $+3
$SG7838 DB 'GBotConern1', 00H
$SG7857 DB '...', 00H
$SG7866 DB '...', 00H
$SG7875 DB '...', 00H
$SG7887 DB 'Powerup pickup', 00H
ORG $+1
$SG7888 DB 'GBotExcited1', 00H
_DATA ENDS
_TEXT SEGMENT
$T11292 = -5000
$T11293 = -5012
$T11294 = -5024
$T11295 = -5036
_me$ = 8
_command$ = 12
_it$ = 16
_this$ = -5040
_g_robot$ = -8
_roomnum$ = -12
_pos$ = -24
_flags$ = -4
_param1$7648 = -28
_g_id$7652 = -36
_flags$7653 = -32
_type$7654 = -40
_handle$7655 = -172
_i$7656 = -44
_num_items$7657 = -176
_f_ok$7670 = -180
_type$7674 = -184
_pnt$7682 = -196
_room$7688 = -204
_face$7689 = -200
_pnt$7691 = -216
_normal$7692 = -228
_flags$7700 = -232
_message$7720 = -488
_marker_message$7721 = -744
_message$7733 = -1000
_marker_message$7734 = -1256
_id$7745 = -1260
_f_used$7768 = -1264
_shields$7775 = -1268
_gb_shields$7778 = -1276
_flags$7779 = -1272
_ei$7784 = -1304
_pow_message$7787 = -1360
_f_do$7788 = -1308
_pos$7795 = -1488
_room$7796 = -1472
_n_scan$7797 = -1364
_scan_objs$7798 = -1464
_n_converted$7799 = -1476
_i$7800 = -1468
_mstruct$7807 = -2420
_flags$7810 = -1492
_target_handle$7811 = -1496
_str$7822 = -2500
_str$7837 = -2580
_i$7841 = -2588
_menu$7842 = -2584
_cur_command$7844 = -2592
_gbc_list$7845 = -2768
_c_index$7849 = -2772
_message$7851 = -3028
_marker_message$7852 = -3284
_g_id$7860 = -3288
_message$7861 = -3544
_g_id$7869 = -3548
_message$7870 = -3804
_message$7878 = -4060
_type$7884 = -4064
_s_id$7886 = -4988
_mo$7889 = -4984
?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z PROC NEAR ; GuideBot::DoExternalCommands
; Line 5224
push ebp
mov ebp, esp
mov eax, 5052 ; 000013bcH
call __chkstk
mov DWORD PTR _this$[ebp], ecx
; Line 5230
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax]
push ecx
push OFFSET FLAT:$SG7644
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 5233
mov DWORD PTR _flags$[ebp], 33554432 ; 02000000H
; Line 5234
lea edx, DWORD PTR _flags$[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5236
mov ecx, DWORD PTR _command$[ebp]
movsx edx, BYTE PTR [ecx]
cmp edx, 2
jne SHORT $L7645
; Line 5238
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@GuideBot@@AAE_NH_N@Z ; GuideBot::DoInit
jmp $L7639
$L7645:
; Line 5240
mov ecx, DWORD PTR _command$[ebp]
movsx edx, BYTE PTR [ecx]
cmp edx, 1
jne $L7647
; Line 5242
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax+1]
mov DWORD PTR _param1$7648[ebp], ecx
; Line 5245
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _param1$7648[ebp]
mov DWORD PTR [eax+72], ecx
; Line 5248
cmp DWORD PTR _param1$7648[ebp], 3
jl SHORT $L7651
cmp DWORD PTR _param1$7648[ebp], 10 ; 0000000aH
jle SHORT $L7650
$L7651:
cmp DWORD PTR _param1$7648[ebp], 11 ; 0000000bH
jl $L7649
cmp DWORD PTR _param1$7648[ebp], 18 ; 00000012H
jg $L7649
$L7650:
; Line 5257
cmp DWORD PTR _param1$7648[ebp], 3
jl SHORT $L7658
cmp DWORD PTR _param1$7648[ebp], 10 ; 0000000aH
jg SHORT $L7658
; Line 5258
push -1
mov edx, DWORD PTR _param1$7648[ebp]
sub edx, 3
push edx
lea eax, DWORD PTR _g_id$7652[ebp]
push eax
push 2
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5259
jmp SHORT $L7659
$L7658:
; Line 5260
push -1
mov ecx, DWORD PTR _param1$7648[ebp]
sub ecx, 11 ; 0000000bH
push ecx
lea edx, DWORD PTR _g_id$7652[ebp]
push edx
push 4
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
$L7659:
; Line 5262
push -1
mov eax, DWORD PTR _g_id$7652[ebp]
push eax
lea ecx, DWORD PTR _flags$7653[ebp]
push ecx
push 12 ; 0000000cH
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5263
push 0
mov edx, DWORD PTR _g_id$7652[ebp]
push edx
lea eax, DWORD PTR _type$7654[ebp]
push eax
push 14 ; 0000000eH
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5265
push -1
mov ecx, DWORD PTR _g_id$7652[ebp]
push ecx
lea edx, DWORD PTR _num_items$7657[ebp]
push edx
push 13 ; 0000000dH
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5267
mov DWORD PTR _i$7656[ebp], 0
jmp SHORT $L7660
$L7661:
mov eax, DWORD PTR _i$7656[ebp]
add eax, 1
mov DWORD PTR _i$7656[ebp], eax
$L7660:
mov ecx, DWORD PTR _i$7656[ebp]
cmp ecx, DWORD PTR _num_items$7657[ebp]
jge SHORT $L7662
; Line 5269
mov edx, DWORD PTR _i$7656[ebp]
push edx
mov eax, DWORD PTR _g_id$7652[ebp]
push eax
mov ecx, DWORD PTR _i$7656[ebp]
lea edx, DWORD PTR _handle$7655[ebp+ecx*4]
push edx
push 15 ; 0000000fH
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5270
jmp SHORT $L7661
$L7662:
; Line 5273
mov eax, DWORD PTR _flags$7653[ebp]
and eax, 64 ; 00000040H
test eax, eax
je SHORT $L7663
; Line 5275
push 0
push OFFSET FLAT:$SG7664
push 1
push 46 ; 0000002eH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5277
jmp $L7696
$L7663:
mov ecx, DWORD PTR _flags$7653[ebp]
and ecx, 32 ; 00000020H
test ecx, ecx
je SHORT $L7666
; Line 5279
push 0
push OFFSET FLAT:$SG7667
push 1
push 47 ; 0000002fH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5281
jmp $L7696
$L7666:
movsx edx, BYTE PTR _type$7654[ebp]
cmp edx, 2
jne $L7669
; Line 5283
mov BYTE PTR _f_ok$7670[ebp], 0
; Line 5285
mov DWORD PTR _i$7656[ebp], 0
jmp SHORT $L7671
$L7672:
mov eax, DWORD PTR _i$7656[ebp]
add eax, 1
mov DWORD PTR _i$7656[ebp], eax
$L7671:
mov ecx, DWORD PTR _i$7656[ebp]
cmp ecx, DWORD PTR _num_items$7657[ebp]
jge $L7673
; Line 5288
push 0
lea edx, DWORD PTR _type$7674[ebp]
push edx
push 1
push 1
mov eax, DWORD PTR _i$7656[ebp]
mov ecx, DWORD PTR _handle$7655[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5290
cmp DWORD PTR _type$7674[ebp], 255 ; 000000ffH
je $L7675
mov edx, DWORD PTR _i$7656[ebp]
mov eax, DWORD PTR _handle$7655[ebp+edx*4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_IsObjReachable@@3P6A_NHH@ZA ; AI_IsObjReachable
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L7675
; Line 5292
push 0
push OFFSET FLAT:$SG7676
push 0
push 48 ; 00000030H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5293
mov edx, DWORD PTR _i$7656[ebp]
mov eax, DWORD PTR _handle$7655[ebp+edx*4]
push eax
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5294
push 1101004800 ; 41a00000H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5295
mov BYTE PTR _f_ok$7670[ebp], 1
; Line 5296
jmp SHORT $L7673
$L7675:
; Line 5298
jmp $L7672
$L7673:
; Line 5300
mov eax, DWORD PTR _f_ok$7670[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne SHORT $L7677
; Line 5302
push 0
push OFFSET FLAT:$SG7678
push 1
push 49 ; 00000031H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7677:
; Line 5305
jmp $L7696
$L7669:
movsx ecx, BYTE PTR _type$7654[ebp]
cmp ecx, 1
jne $L7680
; Line 5307
mov edx, DWORD PTR _handle$7655[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_IsDestReachable@@3P6A_NHH@ZA ; AI_IsDestReachable
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L7681
; Line 5310
push 0
lea ecx, DWORD PTR _pnt$7682[ebp]
push ecx
push 10 ; 0000000aH
push 1
mov edx, DWORD PTR _handle$7655[ebp]
push edx
call DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
add esp, 20 ; 00000014H
; Line 5311
mov eax, DWORD PTR _handle$7655[ebp]
push eax
lea ecx, DWORD PTR _pnt$7682[ebp]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 5312
push 1101004800 ; 41a00000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5314
push 0
push OFFSET FLAT:$SG7683
push 0
push 48 ; 00000030H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5316
jmp SHORT $L7684
$L7681:
; Line 5318
push 0
push OFFSET FLAT:$SG7685
push 1
push 49 ; 00000031H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7684:
; Line 5321
jmp $L7696
$L7680:
movsx ecx, BYTE PTR _type$7654[ebp]
cmp ecx, 3
jne $L7696
; Line 5324
mov edx, DWORD PTR _handle$7655[ebp]
push edx
call DWORD PTR ?Scrpt_GetTriggerRoom@@3P6AHH@ZA ; Scrpt_GetTriggerRoom
add esp, 4
mov DWORD PTR _room$7688[ebp], eax
; Line 5325
mov eax, DWORD PTR _handle$7655[ebp]
push eax
call DWORD PTR ?Scrpt_GetTriggerFace@@3P6AHH@ZA ; Scrpt_GetTriggerFace
add esp, 4
mov DWORD PTR _face$7689[ebp], eax
; Line 5327
mov ecx, DWORD PTR _room$7688[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_IsDestReachable@@3P6A_NHH@ZA ; AI_IsDestReachable
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je $L7690
; Line 5331
mov eax, DWORD PTR _face$7689[ebp]
push eax
lea ecx, DWORD PTR _pnt$7691[ebp]
push ecx
push 14 ; 0000000eH
push 1
mov edx, DWORD PTR _room$7688[ebp]
push edx
call DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
add esp, 20 ; 00000014H
; Line 5332
mov eax, DWORD PTR _face$7689[ebp]
push eax
lea ecx, DWORD PTR _normal$7692[ebp]
push ecx
push 8
push 1
mov edx, DWORD PTR _room$7688[ebp]
push edx
call DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
add esp, 20 ; 00000014H
; Line 5334
push 1084227584 ; 40a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _normal$7692[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _normal$7692[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _normal$7692[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11294[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11293[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11293[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11293[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11293[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11293[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11293[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _pnt$7691[ebp]
push eax
lea ecx, DWORD PTR $T11295[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11292[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11292[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11292[ebp+8], edx
; Line 5336
mov eax, DWORD PTR _room$7688[ebp]
push eax
lea ecx, DWORD PTR _pnt$7691[ebp]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 5337
push 1101004800 ; 41a00000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5339
push 0
push OFFSET FLAT:$SG7695
push 0
push 48 ; 00000030H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5341
jmp SHORT $L7696
$L7690:
; Line 5343
push 0
push OFFSET FLAT:$SG7697
push 1
push 49 ; 00000031H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7696:
; Line 5348
jmp $L7836
$L7649:
cmp DWORD PTR _param1$7648[ebp], 43 ; 0000002bH
jne $L7699
; Line 5353
mov DWORD PTR _flags$7700[ebp], 33554432 ; 02000000H
; Line 5354
lea ecx, DWORD PTR _flags$7700[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5356
push 0
push OFFSET FLAT:$SG7701
push 0
push 50 ; 00000032H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5357
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5358
push -1054867456 ; c1200000H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5359
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+49], 1
; Line 5361
jmp $L7836
$L7699:
cmp DWORD PTR _param1$7648[ebp], 35 ; 00000023H
jne SHORT $L7703
; Line 5363
push 0
push OFFSET FLAT:$SG7704
push 0
push 51 ; 00000033H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5364
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 5366
jmp $L7836
$L7703:
cmp DWORD PTR _param1$7648[ebp], 22 ; 00000016H
jne $L7706
; Line 5369
push -1
push 0
push -1
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov DWORD PTR _g_robot$[ebp], eax
; Line 5371
cmp DWORD PTR _g_robot$[ebp], -1
je SHORT $L7707
; Line 5373
push 0
push OFFSET FLAT:$SG7708
push 0
push 52 ; 00000034H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5374
mov eax, DWORD PTR _g_robot$[ebp]
push eax
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5375
push 1106247680 ; 41f00000H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5377
jmp SHORT $L7709
$L7707:
; Line 5379
push 0
push OFFSET FLAT:$SG7710
push 1
push 53 ; 00000035H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7709:
; Line 5382
jmp $L7836
$L7706:
cmp DWORD PTR _param1$7648[ebp], 20 ; 00000014H
jne $L7712
; Line 5385
push -1
push 0
push -1
push 7
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+60], eax
; Line 5387
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+60], -1
je SHORT $L7713
; Line 5389
push 0
push OFFSET FLAT:$SG7714
push 0
push 54 ; 00000036H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5390
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+60]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5391
push 1077936128 ; 40400000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5393
jmp SHORT $L7715
$L7713:
; Line 5395
push 0
push OFFSET FLAT:$SG7716
push 1
push 55 ; 00000037H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7715:
; Line 5398
jmp $L7836
$L7712:
cmp DWORD PTR _param1$7648[ebp], 26 ; 0000001aH
jne $L7718
; Line 5401
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 0
push -1
push 15 ; 0000000fH
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+60], eax
; Line 5403
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+60], -1
je $L7719
; Line 5408
push 0
lea ecx, DWORD PTR _marker_message$7721[ebp]
push ecx
push 20 ; 00000014H
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+60]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5410
lea edx, DWORD PTR _marker_message$7721[ebp]
push edx
call _strlen
add esp, 4
cmp eax, 20 ; 00000014H
jbe SHORT $L7722
; Line 5412
mov BYTE PTR _marker_message$7721[ebp+17], 0
$L7724:
; Line 5414
lea eax, DWORD PTR _marker_message$7721[ebp]
push eax
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7725
lea ecx, DWORD PTR _marker_message$7721[ebp]
push ecx
call _strlen
add esp, 4
movsx edx, BYTE PTR _marker_message$7721[ebp+eax-1]
cmp edx, 32 ; 00000020H
jne SHORT $L7725
; Line 5416
lea eax, DWORD PTR _marker_message$7721[ebp]
push eax
call _strlen
add esp, 4
mov BYTE PTR _marker_message$7721[ebp+eax-1], 0
; Line 5417
jmp SHORT $L7724
$L7725:
; Line 5419
push OFFSET FLAT:$SG7726
lea ecx, DWORD PTR _marker_message$7721[ebp]
push ecx
call _strcat
add esp, 8
$L7722:
; Line 5422
lea edx, DWORD PTR _marker_message$7721[ebp]
push edx
push 56 ; 00000038H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea eax, DWORD PTR _message$7720[ebp]
push eax
call _sprintf
add esp, 12 ; 0000000cH
; Line 5423
push 0
push OFFSET FLAT:$SG7727
push 0
lea ecx, DWORD PTR _message$7720[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5425
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+60]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5426
push 1077936128 ; 40400000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5428
jmp SHORT $L7728
$L7719:
; Line 5430
push 0
push OFFSET FLAT:$SG7729
push 1
push 57 ; 00000039H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7728:
; Line 5433
jmp $L7836
$L7718:
cmp DWORD PTR _param1$7648[ebp], 27 ; 0000001bH
jl $L7731
cmp DWORD PTR _param1$7648[ebp], 34 ; 00000022H
jg $L7731
; Line 5435
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 0
mov ecx, DWORD PTR _param1$7648[ebp]
sub ecx, 27 ; 0000001bH
push ecx
push 15 ; 0000000fH
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+60], eax
; Line 5437
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+60], -1
je $L7732
; Line 5442
push 0
lea edx, DWORD PTR _marker_message$7734[ebp]
push edx
push 20 ; 00000014H
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+60]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5444
xor eax, eax
test eax, eax
je SHORT $L7735
; Line 5446
mov BYTE PTR _marker_message$7734[ebp+17], 0
$L7737:
; Line 5448
lea ecx, DWORD PTR _marker_message$7734[ebp]
push ecx
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7738
lea edx, DWORD PTR _marker_message$7734[ebp]
push edx
call _strlen
add esp, 4
movsx eax, BYTE PTR _marker_message$7734[ebp+eax-1]
cmp eax, 32 ; 00000020H
jne SHORT $L7738
; Line 5450
lea ecx, DWORD PTR _marker_message$7734[ebp]
push ecx
call _strlen
add esp, 4
mov BYTE PTR _marker_message$7734[ebp+eax-1], 0
; Line 5451
jmp SHORT $L7737
$L7738:
; Line 5453
push OFFSET FLAT:$SG7739
lea edx, DWORD PTR _marker_message$7734[ebp]
push edx
call _strcat
add esp, 8
$L7735:
; Line 5456
lea eax, DWORD PTR _marker_message$7734[ebp]
push eax
push 56 ; 00000038H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea ecx, DWORD PTR _message$7733[ebp]
push ecx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5457
push 0
push OFFSET FLAT:$SG7740
push 0
lea edx, DWORD PTR _message$7733[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5459
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+60]
push edx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5460
push 1077936128 ; 40400000H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5462
jmp SHORT $L7741
$L7732:
; Line 5464
push 0
push OFFSET FLAT:$SG7742
push 1
push 58 ; 0000003aH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7741:
; Line 5467
jmp $L7836
$L7731:
cmp DWORD PTR _param1$7648[ebp], 23 ; 00000017H
jne $L7744
; Line 5469
push OFFSET FLAT:$SG7746
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _id$7745[ebp], eax
; Line 5471
push -1
push 0
mov edx, DWORD PTR _id$7745[ebp]
push edx
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+60], eax
; Line 5473
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+60], -1
je $L7747
; Line 5475
call _rand
cmp eax, 16383 ; 00003fffH
jle SHORT $L7748
; Line 5476
push 0
push OFFSET FLAT:$SG7749
push 0
push 59 ; 0000003bH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5477
jmp SHORT $L7750
$L7748:
; Line 5478
push 0
push OFFSET FLAT:$SG7751
push 0
push 60 ; 0000003cH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7750:
; Line 5480
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+60]
push ecx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5481
push 1077936128 ; 40400000H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5483
jmp SHORT $L7752
$L7747:
; Line 5485
push 0
push OFFSET FLAT:$SG7753
push 1
push 61 ; 0000003dH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7752:
; Line 5488
jmp $L7836
$L7744:
cmp DWORD PTR _param1$7648[ebp], 19 ; 00000013H
jne $L7755
; Line 5490
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 0
push -1
push 7
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+60], eax
; Line 5492
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+60], -1
je SHORT $L7756
; Line 5494
push 0
push OFFSET FLAT:$SG7757
push 0
push 62 ; 0000003eH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5495
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+60]
push eax
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5496
push 1077936128 ; 40400000H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5498
jmp SHORT $L7758
$L7756:
; Line 5500
push 0
push OFFSET FLAT:$SG7759
push 1
push 63 ; 0000003fH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7758:
; Line 5503
jmp $L7836
$L7755:
cmp DWORD PTR _param1$7648[ebp], 42 ; 0000002aH
jne SHORT $L7761
; Line 5505
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
or edx, 8
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+88], edx
; Line 5506
push 0
push OFFSET FLAT:$SG7762
push 1
push 64 ; 00000040H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5508
jmp $L7836
$L7761:
cmp DWORD PTR _param1$7648[ebp], 41 ; 00000029H
jne SHORT $L7764
; Line 5510
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+88]
and ecx, -9 ; fffffff7H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+88], ecx
; Line 5511
push 0
push OFFSET FLAT:$SG7765
push 0
push 65 ; 00000041H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5513
jmp $L7836
$L7764:
cmp DWORD PTR _param1$7648[ebp], 21 ; 00000015H
jne $L7767
; Line 5515
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_FindEnergyCenter@@3P6AHH@ZA ; AI_FindEnergyCenter
add esp, 4
mov DWORD PTR _roomnum$[ebp], eax
; Line 5517
push 0
lea edx, DWORD PTR _f_used$7768[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _roomnum$[ebp]
push eax
call DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
add esp, 20 ; 00000014H
; Line 5519
movsx ecx, BYTE PTR _f_used$7768[ebp]
test ecx, ecx
je SHORT $L7769
; Line 5521
push 1
lea edx, DWORD PTR _pos$[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _roomnum$[ebp]
push eax
call DWORD PTR ?Room_Value@@3P6AXHDDPAXH@ZA ; Room_Value
add esp, 20 ; 00000014H
; Line 5522
mov ecx, DWORD PTR _roomnum$[ebp]
push ecx
lea edx, DWORD PTR _pos$[ebp]
push edx
push 12 ; 0000000cH
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 5523
push 1101004800 ; 41a00000H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5525
push 0
push OFFSET FLAT:$SG7770
push 0
push 66 ; 00000042H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5527
jmp SHORT $L7771
$L7769:
; Line 5529
push 0
push OFFSET FLAT:$SG7772
push 1
push 67 ; 00000043H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7771:
; Line 5532
jmp $L7836
$L7767:
cmp DWORD PTR _param1$7648[ebp], 1
jne $L7774
; Line 5535
push 0
lea edx, DWORD PTR _shields$7775[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5537
call DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
movsx eax, al
imul eax, 5
add eax, 5
mov DWORD PTR -5044+[ebp], eax
fild DWORD PTR -5044+[ebp]
fcomp DWORD PTR _shields$7775[ebp]
fnstsw ax
test ah, 65 ; 00000041H
je $L7776
; Line 5539
call DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
movsx ecx, al
imul ecx, 5
add ecx, 5
mov DWORD PTR -5048+[ebp], ecx
fild DWORD PTR -5048+[ebp]
fsubr DWORD PTR _shields$7775[ebp]
fstp DWORD PTR _shields$7775[ebp]
; Line 5541
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+88]
and ecx, -2 ; fffffffeH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+88], ecx
; Line 5542
push 0
lea ecx, DWORD PTR _shields$7775[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5544
push 1
push OFFSET FLAT:$SG7777
push 0
push 68 ; 00000044H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5546
mov DWORD PTR _gb_shields$7778[ebp], 1132068864 ; 437a0000H
; Line 5547
mov DWORD PTR _flags$7779[ebp], 8388608 ; 00800000H
; Line 5549
push 0
lea edx, DWORD PTR _flags$7779[ebp]
push edx
push 10 ; 0000000aH
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5550
push 0
lea ecx, DWORD PTR _gb_shields$7778[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5552
mov DWORD PTR _flags$7779[ebp], 33554432 ; 02000000H
; Line 5553
lea eax, DWORD PTR _flags$7779[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5554
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 5556
jmp SHORT $L7780
$L7776:
; Line 5558
push 1
push OFFSET FLAT:$SG7781
push 1
push 69 ; 00000045H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7780:
; Line 5561
jmp $L7836
$L7774:
cmp DWORD PTR _param1$7648[ebp], 2
jne SHORT $L7783
; Line 5564
lea eax, DWORD PTR _ei$7784[ebp]
push eax
push 263 ; 00000107H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
; Line 5566
jmp $L7836
$L7783:
cmp DWORD PTR _param1$7648[ebp], 36 ; 00000024H
jl $L7786
cmp DWORD PTR _param1$7648[ebp], 41 ; 00000029H
jge $L7786
; Line 5569
mov BYTE PTR _f_do$7788[ebp], 1
; Line 5572
mov edx, DWORD PTR _param1$7648[ebp]
sub edx, 36 ; 00000024H
mov DWORD PTR -5052+[ebp], edx
cmp DWORD PTR -5052+[ebp], 0
je SHORT $L7793
cmp DWORD PTR -5052+[ebp], 1
je $L7813
cmp DWORD PTR -5052+[ebp], 4
je SHORT $L7794
jmp $L7790
$L7793:
; Line 5575
push 0
mov ecx, DWORD PTR _this$[ebp]
call ?InitExtinguish@GuideBot@@AAE_N_N@Z ; GuideBot::InitExtinguish
mov BYTE PTR _f_do$7788[ebp], al
; Line 5577
jmp $L7790
$L7794:
; Line 5585
mov DWORD PTR _n_converted$7799[ebp], 0
; Line 5588
push 0
lea eax, DWORD PTR _pos$7795[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5589
push 0
lea ecx, DWORD PTR _room$7796[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+100]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5591
push 1
push 0
push 0
push 0
push 25 ; 00000019H
lea edx, DWORD PTR _scan_objs$7798[ebp]
push edx
push 1120403456 ; 42c80000H
mov eax, DWORD PTR _room$7796[ebp]
push eax
lea ecx, DWORD PTR _pos$7795[ebp]
push ecx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$7797[ebp], eax
; Line 5593
mov DWORD PTR _i$7800[ebp], 0
jmp SHORT $L7801
$L7802:
mov edx, DWORD PTR _i$7800[ebp]
add edx, 1
mov DWORD PTR _i$7800[ebp], edx
$L7801:
mov eax, DWORD PTR _i$7800[ebp]
cmp eax, DWORD PTR _n_scan$7797[ebp]
jge $L7803
; Line 5595
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+140], 100 ; 00000064H
jl SHORT $L7804
; Line 5596
jmp $L7803
$L7804:
; Line 5598
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$7800[ebp]
mov eax, DWORD PTR _scan_objs$7798[ebp+edx*4]
cmp eax, DWORD PTR [ecx+100]
je $L7806
; Line 5600
mov ecx, DWORD PTR _i$7800[ebp]
mov edx, DWORD PTR _scan_objs$7798[ebp+ecx*4]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+100]
push edx
call DWORD PTR ?AI_IsObjEnemy@@3P6A_NHH@ZA ; AI_IsObjEnemy
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je $L7806
; Line 5605
push 0
lea eax, DWORD PTR _mstruct$7807[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+100]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5606
push 0
lea ecx, DWORD PTR _mstruct$7807[ebp+176]
push ecx
push 3
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+100]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5607
push 0
lea edx, DWORD PTR _mstruct$7807[ebp+652]
push edx
push 3
push 1
mov eax, DWORD PTR _i$7800[ebp]
mov ecx, DWORD PTR _scan_objs$7798[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5609
mov DWORD PTR _mstruct$7807[ebp+576], 1069547520 ; 3fc00000H
; Line 5610
mov DWORD PTR _mstruct$7807[ebp+580], 1086324736 ; 40c00000H
; Line 5612
mov DWORD PTR _mstruct$7807[ebp+272], 1065353216 ; 3f800000H
; Line 5613
mov DWORD PTR _mstruct$7807[ebp+588], 1
; Line 5614
mov DWORD PTR _mstruct$7807[ebp+264], 3
; Line 5615
push OFFSET FLAT:$SG7809
call DWORD PTR ?Scrpt_FindTextureName@@3P6AHPAD@ZA ; Scrpt_FindTextureName
add esp, 4
mov WORD PTR _mstruct$7807[ebp+6], ax
; Line 5616
mov DWORD PTR _mstruct$7807[ebp+568], 16912 ; 00004210H
; Line 5618
mov BYTE PTR _mstruct$7807[ebp+276], 0
; Line 5619
mov DWORD PTR _mstruct$7807[ebp+592], 0
; Line 5621
lea edx, DWORD PTR _mstruct$7807[ebp]
push edx
push 103 ; 00000067H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 5623
mov DWORD PTR _flags$7810[ebp], 196608 ; 00030000H
; Line 5624
lea eax, DWORD PTR _flags$7810[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _i$7800[ebp]
mov edx, DWORD PTR _scan_objs$7798[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5625
mov DWORD PTR _flags$7810[ebp], 65536 ; 00010000H
; Line 5626
lea eax, DWORD PTR _flags$7810[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _i$7800[ebp]
mov edx, DWORD PTR _scan_objs$7798[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5628
mov DWORD PTR _target_handle$7811[ebp], -1
; Line 5629
lea eax, DWORD PTR _target_handle$7811[ebp]
push eax
push 19 ; 00000013H
push 0
mov ecx, DWORD PTR _i$7800[ebp]
mov edx, DWORD PTR _scan_objs$7798[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 5631
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4003f000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+140]
fstp DWORD PTR [ecx+edx*4+544]
; Line 5632
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+140]
mov eax, DWORD PTR _i$7800[ebp]
mov eax, DWORD PTR _scan_objs$7798[ebp+eax*4]
mov DWORD PTR [ecx+edx*4+144], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+140]
add eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+140], eax
; Line 5634
mov eax, DWORD PTR _n_converted$7799[ebp]
add eax, 1
mov DWORD PTR _n_converted$7799[ebp], eax
$L7806:
; Line 5637
jmp $L7802
$L7803:
; Line 5639
cmp DWORD PTR _n_converted$7799[ebp], 0
jle SHORT $L7812
; Line 5641
mov BYTE PTR _f_do$7788[ebp], 1
$L7812:
; Line 5644
jmp SHORT $L7790
$L7813:
; Line 5648
push 9
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 5649
mov BYTE PTR _f_do$7788[ebp], 1
$L7790:
; Line 5654
mov edx, DWORD PTR _f_do$7788[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L7814
; Line 5656
mov eax, DWORD PTR _param1$7648[ebp]
mov ecx, DWORD PTR ?gb_pow_text@@3PAHA[eax*4-144]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push OFFSET FLAT:$SG7815
lea edx, DWORD PTR _pow_message$7787[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5657
push 0
push OFFSET FLAT:$SG7816
push 0
lea eax, DWORD PTR _pow_message$7787[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5658
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _param1$7648[ebp]
mov cl, BYTE PTR [edx+eax-28]
sub cl, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR _param1$7648[ebp]
mov BYTE PTR [eax+edx-28], cl
; Line 5660
jmp SHORT $L7817
$L7814:
; Line 5662
mov eax, DWORD PTR _param1$7648[ebp]
mov ecx, DWORD PTR ?gb_pow_not_text@@3PAHA[eax*4-144]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push OFFSET FLAT:$SG7818
lea edx, DWORD PTR _pow_message$7787[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5663
push 0
push OFFSET FLAT:$SG7819
push 0
lea eax, DWORD PTR _pow_message$7787[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7817:
; Line 5666
jmp $L7836
$L7786:
cmp DWORD PTR _param1$7648[ebp], 0
jne $L7821
; Line 5669
mov ecx, DWORD PTR _command$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
call _strlen
add esp, 4
test eax, eax
jbe $L7824
; Line 5671
push 7
mov eax, DWORD PTR _command$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
call _strncpy
add esp, 12 ; 0000000cH
; Line 5672
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
push 11 ; 0000000bH
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 5674
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+7], 0
; Line 5676
mov edx, DWORD PTR _command$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
push 70 ; 00000046H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea ecx, DWORD PTR _str$7822[ebp]
push ecx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5677
push 0
push OFFSET FLAT:$SG7827
push 1
lea edx, DWORD PTR _str$7822[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5679
jmp SHORT $L7828
$L7824:
; Line 5681
mov eax, DWORD PTR _command$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
push 71 ; 00000047H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea edx, DWORD PTR _str$7822[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5682
push 0
push OFFSET FLAT:$SG7830
push 1
lea eax, DWORD PTR _str$7822[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7828:
; Line 5684
jmp SHORT $L7836
$L7821:
cmp DWORD PTR _param1$7648[ebp], 44 ; 0000002cH
jne SHORT $L7832
; Line 5686
mov ecx, DWORD PTR _command$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7834
; Line 5688
push 7
mov eax, DWORD PTR _command$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
call _strncpy
add esp, 12 ; 0000000cH
; Line 5689
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+7], 0
$L7834:
; Line 5692
jmp SHORT $L7836
$L7832:
; Line 5695
mov eax, DWORD PTR _param1$7648[ebp]
push eax
push 72 ; 00000048H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea ecx, DWORD PTR _str$7837[ebp]
push ecx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5696
push 1
push OFFSET FLAT:$SG7838
push 1
lea edx, DWORD PTR _str$7837[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7836:
; Line 5699
jmp $L7885
$L7647:
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax]
test ecx, ecx
jne $L7840
; Line 5702
mov edx, DWORD PTR _command$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR _menu$7842[ebp], eax
; Line 5703
mov DWORD PTR _cur_command$7844[ebp], 0
; Line 5705
push 73 ; 00000049H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _menu$7842[ebp]
push ecx
call _strcpy
add esp, 8
; Line 5708
lea edx, DWORD PTR _gbc_list$7845[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?MakeCommandList@GuideBot@@AAEHPAH@Z ; GuideBot::MakeCommandList
mov ecx, DWORD PTR _menu$7842[ebp]
mov DWORD PTR [ecx+256], eax
; Line 5710
mov DWORD PTR _i$7841[ebp], 0
jmp SHORT $L7846
$L7847:
mov edx, DWORD PTR _i$7841[ebp]
add edx, 1
mov DWORD PTR _i$7841[ebp], edx
$L7846:
mov eax, DWORD PTR _menu$7842[ebp]
mov ecx, DWORD PTR _i$7841[ebp]
cmp ecx, DWORD PTR [eax+256]
jge $L7848
; Line 5712
mov edx, DWORD PTR _i$7841[ebp]
mov eax, DWORD PTR _gbc_list$7845[ebp+edx*4]
mov DWORD PTR _c_index$7849[ebp], eax
; Line 5714
cmp DWORD PTR _c_index$7849[ebp], 27 ; 0000001bH
jl $L7850
cmp DWORD PTR _c_index$7849[ebp], 34 ; 00000022H
jg $L7850
; Line 5716
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 0
mov ecx, DWORD PTR _c_index$7849[ebp]
sub ecx, 27 ; 0000001bH
push ecx
push 15 ; 0000000fH
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+60], eax
; Line 5721
push 0
lea eax, DWORD PTR _marker_message$7852[ebp]
push eax
push 20 ; 00000014H
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+60]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5723
xor ecx, ecx
test ecx, ecx
je SHORT $L7853
; Line 5725
mov BYTE PTR _marker_message$7852[ebp+11], 0
$L7855:
; Line 5727
lea edx, DWORD PTR _marker_message$7852[ebp]
push edx
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7856
lea eax, DWORD PTR _marker_message$7852[ebp]
push eax
call _strlen
add esp, 4
movsx ecx, BYTE PTR _marker_message$7852[ebp+eax-1]
cmp ecx, 32 ; 00000020H
jne SHORT $L7856
; Line 5729
lea edx, DWORD PTR _marker_message$7852[ebp]
push edx
call _strlen
add esp, 4
mov BYTE PTR _marker_message$7852[ebp+eax-1], 0
; Line 5730
jmp SHORT $L7855
$L7856:
; Line 5732
push OFFSET FLAT:$SG7857
lea eax, DWORD PTR _marker_message$7852[ebp]
push eax
call _strcat
add esp, 8
$L7853:
; Line 5735
lea ecx, DWORD PTR _marker_message$7852[ebp]
push ecx
push 74 ; 0000004aH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea edx, DWORD PTR _message$7851[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5736
lea eax, DWORD PTR _message$7851[ebp]
push eax
mov ecx, DWORD PTR _i$7841[ebp]
shl ecx, 8
mov edx, DWORD PTR _menu$7842[ebp]
lea eax, DWORD PTR [edx+ecx+260]
push eax
call _strcpy
add esp, 8
; Line 5738
jmp $L7876
$L7850:
cmp DWORD PTR _c_index$7849[ebp], 3
jl $L7859
cmp DWORD PTR _c_index$7849[ebp], 10 ; 0000000aH
jg $L7859
; Line 5743
push -1
mov ecx, DWORD PTR _c_index$7849[ebp]
sub ecx, 3
push ecx
lea edx, DWORD PTR _g_id$7860[ebp]
push edx
push 2
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5744
push -1
mov eax, DWORD PTR _g_id$7860[ebp]
push eax
lea ecx, DWORD PTR _message$7861[ebp]
push ecx
push 7
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5746
xor edx, edx
test edx, edx
je SHORT $L7862
; Line 5748
mov BYTE PTR _message$7861[ebp+18], 0
$L7864:
; Line 5750
lea eax, DWORD PTR _message$7861[ebp]
push eax
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7865
lea ecx, DWORD PTR _message$7861[ebp]
push ecx
call _strlen
add esp, 4
movsx edx, BYTE PTR _message$7861[ebp+eax-1]
cmp edx, 32 ; 00000020H
jne SHORT $L7865
; Line 5752
lea eax, DWORD PTR _message$7861[ebp]
push eax
call _strlen
add esp, 4
mov BYTE PTR _message$7861[ebp+eax-1], 0
; Line 5753
jmp SHORT $L7864
$L7865:
; Line 5755
push OFFSET FLAT:$SG7866
lea ecx, DWORD PTR _message$7861[ebp]
push ecx
call _strcat
add esp, 8
$L7862:
; Line 5757
lea edx, DWORD PTR _message$7861[ebp]
push edx
push 75 ; 0000004bH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov eax, DWORD PTR _i$7841[ebp]
shl eax, 8
mov ecx, DWORD PTR _menu$7842[ebp]
lea edx, DWORD PTR [ecx+eax+260]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5759
jmp $L7876
$L7859:
cmp DWORD PTR _c_index$7849[ebp], 11 ; 0000000bH
jl $L7868
cmp DWORD PTR _c_index$7849[ebp], 18 ; 00000012H
jg $L7868
; Line 5764
push -1
mov eax, DWORD PTR _c_index$7849[ebp]
sub eax, 11 ; 0000000bH
push eax
lea ecx, DWORD PTR _g_id$7869[ebp]
push ecx
push 4
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5765
push -1
mov edx, DWORD PTR _g_id$7869[ebp]
push edx
lea eax, DWORD PTR _message$7870[ebp]
push eax
push 7
push 1
call DWORD PTR ?LGoal_Value@@3P6AXDDPAXHH@ZA ; LGoal_Value
add esp, 20 ; 00000014H
; Line 5767
xor ecx, ecx
test ecx, ecx
je SHORT $L7871
; Line 5769
mov BYTE PTR _message$7870[ebp+18], 0
$L7873:
; Line 5771
lea edx, DWORD PTR _message$7870[ebp]
push edx
call _strlen
add esp, 4
test eax, eax
jbe SHORT $L7874
lea eax, DWORD PTR _message$7870[ebp]
push eax
call _strlen
add esp, 4
movsx ecx, BYTE PTR _message$7870[ebp+eax-1]
cmp ecx, 32 ; 00000020H
jne SHORT $L7874
; Line 5773
lea edx, DWORD PTR _message$7870[ebp]
push edx
call _strlen
add esp, 4
mov BYTE PTR _message$7870[ebp+eax-1], 0
; Line 5774
jmp SHORT $L7873
$L7874:
; Line 5776
push OFFSET FLAT:$SG7875
lea eax, DWORD PTR _message$7870[ebp]
push eax
call _strcat
add esp, 8
$L7871:
; Line 5778
lea ecx, DWORD PTR _message$7870[ebp]
push ecx
push 75 ; 0000004bH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov edx, DWORD PTR _i$7841[ebp]
shl edx, 8
mov eax, DWORD PTR _menu$7842[ebp]
lea ecx, DWORD PTR [eax+edx+260]
push ecx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5780
jmp SHORT $L7876
$L7868:
; Line 5781
mov edx, DWORD PTR _i$7841[ebp]
mov eax, DWORD PTR _gbc_list$7845[ebp+edx*4]
mov ecx, DWORD PTR ?gb_command_text@@3PAHA[eax*4]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov edx, DWORD PTR _i$7841[ebp]
shl edx, 8
mov eax, DWORD PTR _menu$7842[ebp]
lea ecx, DWORD PTR [eax+edx+260]
push ecx
call _strcpy
add esp, 8
$L7876:
; Line 5783
mov edx, DWORD PTR _i$7841[ebp]
cmp DWORD PTR _gbc_list$7845[ebp+edx*4], 1
jne SHORT $L7877
; Line 5786
call DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
movsx eax, al
imul eax, 5
add eax, 5
push eax
push 76 ; 0000004cH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea ecx, DWORD PTR _message$7878[ebp]
push ecx
call _sprintf
add esp, 12 ; 0000000cH
; Line 5787
lea edx, DWORD PTR _message$7878[ebp]
push edx
mov eax, DWORD PTR _i$7841[ebp]
shl eax, 8
mov ecx, DWORD PTR _menu$7842[ebp]
lea edx, DWORD PTR [ecx+eax+260]
push edx
call _strcat
add esp, 8
$L7877:
; Line 5790
mov eax, DWORD PTR _menu$7842[ebp]
add eax, DWORD PTR _i$7841[ebp]
mov ecx, DWORD PTR _i$7841[ebp]
mov dl, BYTE PTR _gbc_list$7845[ebp+ecx*4]
mov BYTE PTR [eax+15620], dl
; Line 5791
mov eax, DWORD PTR _menu$7842[ebp]
add eax, DWORD PTR _i$7841[ebp]
mov BYTE PTR [eax+15680], 0
; Line 5793
mov ecx, DWORD PTR _i$7841[ebp]
cmp DWORD PTR _gbc_list$7845[ebp+ecx*4], 0
jne SHORT $L7879
; Line 5795
mov edx, DWORD PTR _menu$7842[ebp]
add edx, DWORD PTR _i$7841[ebp]
mov BYTE PTR [edx+15680], 1
; Line 5796
push 77 ; 0000004dH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov eax, DWORD PTR _i$7841[ebp]
shl eax, 8
mov ecx, DWORD PTR _menu$7842[ebp]
lea edx, DWORD PTR [ecx+eax+15740]
push edx
call _strcpy
add esp, 8
$L7879:
; Line 5798
jmp $L7847
$L7848:
; Line 5800
jmp $L7885
$L7840:
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax]
cmp ecx, 4
jne SHORT $L7881
; Line 5802
mov edx, DWORD PTR _it$[ebp]
push edx
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@GuideBot@@AAE_NHDH@Z ; GuideBot::SetSubMode
; Line 5804
jmp $L7885
$L7881:
mov ecx, DWORD PTR _command$[ebp]
movsx edx, BYTE PTR [ecx]
cmp edx, 5
jne $L7885
; Line 5806
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax+1]
mov DWORD PTR _type$7884[ebp], ecx
; Line 5808
cmp DWORD PTR _type$7884[ebp], 0
jl $L7885
cmp DWORD PTR _type$7884[ebp], 5
jg $L7885
; Line 5810
push OFFSET FLAT:$SG7887
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_id$7886[ebp], eax
; Line 5811
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _s_id$7886[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 5813
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _type$7884[ebp]
mov cl, BYTE PTR [edx+eax+8]
add cl, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR _type$7884[ebp]
mov BYTE PTR [eax+edx+8], cl
; Line 5814
push 0
push OFFSET FLAT:$SG7888
push 1
mov eax, DWORD PTR _type$7884[ebp]
mov ecx, DWORD PTR ?gb_pow_pickup_text@@3PAHA[eax*4]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5815
push -1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@GuideBot@@AAE_NHDH@Z ; GuideBot::SetSubMode
; Line 5818
mov eax, DWORD PTR _it$[ebp]
mov DWORD PTR _mo$7889[ebp+44], eax
; Line 5820
lea ecx, DWORD PTR _mo$7889[ebp]
push ecx
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L7885:
; Line 5824
mov al, 1
$L7639:
; Line 5825
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z ENDP ; GuideBot::DoExternalCommands
_TEXT ENDS
PUBLIC __real@8@3ffe9999999999999800
PUBLIC __real@8@3ffdccccccccccccd000
PUBLIC __real@8@4001a000000000000000
PUBLIC __real@8@3ffeb333333333333000
PUBLIC ?DoCollide@GuideBot@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ; GuideBot::DoCollide
_DATA SEGMENT
ORG $+3
$SG7909 DB 'GBotConcern1', 00H
ORG $+3
$SG7912 DB 'GBotConcern1', 00H
ORG $+3
$SG7915 DB 'GBotConcern1', 00H
ORG $+3
$SG7919 DB 'GBotConcern1', 00H
ORG $+3
$SG7921 DB 'GBotConcern1', 00H
_DATA ENDS
; COMDAT __real@8@3ffe9999999999999800
; File aigame.cpp
CONST SEGMENT
__real@8@3ffe9999999999999800 DQ 03fe3333333333333r ; 0.6
CONST ENDS
; COMDAT __real@8@3ffdccccccccccccd000
CONST SEGMENT
__real@8@3ffdccccccccccccd000 DQ 03fd999999999999ar ; 0.4
CONST ENDS
; COMDAT __real@8@4001a000000000000000
CONST SEGMENT
__real@8@4001a000000000000000 DQ 04014000000000000r ; 5
CONST ENDS
; COMDAT __real@8@3ffeb333333333333000
CONST SEGMENT
__real@8@3ffeb333333333333000 DQ 03fe6666666666666r ; 0.7
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_evt_collide$ = 12
_this$ = -24
_its_parent$ = -12
_rand_val$ = -8
_it_type$ = -4
_id$7903 = -20
?DoCollide@GuideBot@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z PROC NEAR ; GuideBot::DoCollide
; File aigame.cpp
; Line 5828
push ebp
mov ebp, esp
sub esp, 36 ; 00000024H
mov DWORD PTR _this$[ebp], ecx
; Line 5834
push 0
lea eax, DWORD PTR _it_type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _evt_collide$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5836
call _rand
mov DWORD PTR -28+[ebp], eax
fild DWORD PTR -28+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fstp DWORD PTR _rand_val$[ebp]
; Line 5839
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx+49]
cmp edx, 1
jne SHORT $L7901
; Line 5841
cmp DWORD PTR _it_type$[ebp], 4
jne SHORT $L7904
; Line 5844
push 0
lea eax, DWORD PTR _id$7903[ebp]
push eax
push 2
push 1
mov ecx, DWORD PTR _evt_collide$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5846
mov eax, DWORD PTR _id$7903[ebp]
and eax, 65535 ; 0000ffffH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor ecx, ecx
mov cx, WORD PTR [edx+40]
cmp eax, ecx
jne SHORT $L7904
; Line 5848
push 12 ; 0000000cH
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
$L7904:
; Line 5852
jmp $L7920
$L7901:
; Line 5855
cmp DWORD PTR _it_type$[ebp], 5
jne $L7920
; Line 5860
push 0
lea eax, DWORD PTR _its_parent$[ebp]
push eax
push 17 ; 00000011H
push 1
mov ecx, DWORD PTR _evt_collide$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5862
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _its_parent$[ebp]
cmp edx, DWORD PTR [ecx+44]
jne $L7907
; Line 5864
fld DWORD PTR _rand_val$[ebp]
fcomp DWORD PTR __real@4@3ffecccccd0000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7908
; Line 5866
push 0
push OFFSET FLAT:$SG7909
push 0
push 78 ; 0000004eH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5868
jmp SHORT $L7914
$L7908:
fld DWORD PTR _rand_val$[ebp]
fcomp QWORD PTR __real@8@3ffe9999999999999800
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7911
; Line 5870
push 0
push OFFSET FLAT:$SG7912
push 0
push 79 ; 0000004fH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5872
jmp SHORT $L7914
$L7911:
fld DWORD PTR _rand_val$[ebp]
fcomp QWORD PTR __real@8@3ffdccccccccccccd000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7914
; Line 5874
push 0
push OFFSET FLAT:$SG7915
push 0
push 80 ; 00000050H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7914:
; Line 5877
jmp SHORT $L7917
$L7907:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+92]
fadd QWORD PTR __real@8@4001a000000000000000
fstp QWORD PTR -36+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld QWORD PTR -36+[ebp]
fcompp
$L7917:
; Line 5879
fld DWORD PTR _rand_val$[ebp]
fcomp QWORD PTR __real@8@3ffeb333333333333000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7918
; Line 5881
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
push 0
push -1
push 1065353216 ; 3f800000H
push 2
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 5882
push 1109393408 ; 42200000H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 5884
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+92]
; Line 5886
push 0
push OFFSET FLAT:$SG7919
push 1
push 81 ; 00000051H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5888
jmp SHORT $L7920
$L7918:
; Line 5890
push 0
push OFFSET FLAT:$SG7921
push 1
push 82 ; 00000052H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7920:
; Line 5895
mov esp, ebp
pop ebp
ret 8
?DoCollide@GuideBot@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ENDP ; GuideBot::DoCollide
_TEXT ENDS
PUBLIC ?DoUse@GuideBot@@AAE_NH@Z ; GuideBot::DoUse
_DATA SEGMENT
ORG $+3
$SG7932 DB '1 Player %d', 0aH, 00H
ORG $+3
$SG7933 DB '2 Player %d', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -52
_p_handle$ = -44
_buddy_handle$ = -48
_command$ = -36
_ei$ = -28
?DoUse@GuideBot@@AAE_NH@Z PROC NEAR ; GuideBot::DoUse
; Line 5898
push ebp
mov ebp, esp
sub esp, 52 ; 00000034H
mov DWORD PTR _this$[ebp], ecx
; Line 5909
push 0
lea eax, DWORD PTR _p_handle$[ebp]
push eax
push 17 ; 00000011H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5911
cmp DWORD PTR _p_handle$[ebp], -1
jne SHORT $L7930
; Line 5913
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
mov DWORD PTR _p_handle$[ebp], ecx
; Line 5915
jmp SHORT $L7931
$L7930:
; Line 5917
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _p_handle$[ebp]
mov DWORD PTR [eax+44], ecx
$L7931:
; Line 5920
mov edx, DWORD PTR _p_handle$[ebp]
push edx
push OFFSET FLAT:$SG7932
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 5921
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push OFFSET FLAT:$SG7933
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 5923
push 0
lea eax, DWORD PTR _buddy_handle$[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _p_handle$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 5925
mov BYTE PTR _command$[ebp], 2
; Line 5927
lea edx, DWORD PTR _command$[ebp]
mov DWORD PTR _ei$[ebp+24], edx
; Line 5928
mov DWORD PTR _ei$[ebp], 16 ; 00000010H
; Line 5930
lea eax, DWORD PTR _ei$[ebp]
push eax
push 272 ; 00000110H
mov ecx, DWORD PTR _buddy_handle$[ebp]
push ecx
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
; Line 5931
mov esp, ebp
pop ebp
ret 4
?DoUse@GuideBot@@AAE_NH@Z ENDP ; GuideBot::DoUse
_TEXT ENDS
_DATA SEGMENT
ORG $+3
$SG7955 DB 'Buddyextinguisher', 00H
ORG $+2
$SG7956 DB 'buddywingnut', 00H
ORG $+3
$SG7957 DB 'buddycontrol', 00H
ORG $+3
$SG7958 DB 'buddyassist', 00H
$SG7959 DB 'buddyantivirus', 00H
ORG $+1
$SG7960 DB 'buddyspeed', 00H
ORG $+1
$SG7963 DB 'GBotConcern1', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_f_reinit$ = 12
_this$ = -104
_i$ = -28
_ch$ = -80
?DoInit@GuideBot@@AAE_NH_N@Z PROC NEAR ; GuideBot::DoInit
; Line 5934
push ebp
mov ebp, esp
sub esp, 104 ; 00000068H
mov DWORD PTR _this$[ebp], ecx
; Line 5944
mov WORD PTR _ch$[ebp+8], 4
; Line 5945
mov DWORD PTR _ch$[ebp+12], 960 ; 000003c0H
; Line 5946
mov DWORD PTR _ch$[ebp], 0
; Line 5947
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 5949
mov ecx, DWORD PTR _f_reinit$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne $L7950
; Line 5951
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 5952
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+88], 0
; Line 5954
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 44 ; 0000002cH
push edx
push 17 ; 00000011H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5955
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 40 ; 00000028H
push edx
push 2
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 5957
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
push 11 ; 0000000bH
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 5960
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+8], 3
; Line 5961
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+9], 0
; Line 5962
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+10], 0
; Line 5963
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+11], 0
; Line 5964
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 0
; Line 5965
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+13], 0
; Line 5967
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L7952
$L7953:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L7952:
cmp DWORD PTR _i$[ebp], 5
jge SHORT $L7954
; Line 5969
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
mov DWORD PTR [ecx+edx*4+16], -1
; Line 5970
jmp SHORT $L7953
$L7954:
; Line 5972
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR [ecx+100], edx
; Line 5974
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+52], 0
; Line 5975
push 5
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 5977
push OFFSET FLAT:$SG7955
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+948], ax
; Line 5978
push OFFSET FLAT:$SG7956
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+950], ax
; Line 5979
push OFFSET FLAT:$SG7957
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+952], ax
; Line 5980
push OFFSET FLAT:$SG7958
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+954], ax
; Line 5981
push OFFSET FLAT:$SG7959
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+956], ax
; Line 5982
push OFFSET FLAT:$SG7960
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+958], ax
; Line 5984
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+140], 0
; Line 5986
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+84]
; Line 5987
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+76]
; Line 5989
jmp SHORT $L7961
$L7950:
; Line 5992
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 1
test edx, edx
je SHORT $L7962
; Line 5994
push 1
push OFFSET FLAT:$SG7963
push 1
push 83 ; 00000053H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 5995
xor al, al
jmp SHORT $L7940
$L7962:
; Line 6000
push 11 ; 0000000bH
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 6001
push -1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@GuideBot@@AAE_NHDH@Z ; GuideBot::SetSubMode
$L7961:
; Line 6004
mov al, 1
$L7940:
; Line 6005
mov esp, ebp
pop ebp
ret 8
?DoInit@GuideBot@@AAE_NH_N@Z ENDP ; GuideBot::DoInit
_TEXT ENDS
PUBLIC __real@4@400da665190000000000
PUBLIC ?DoNotify@GuideBot@@AAE_NHPAUtOSIRISEventInfo@@@Z ; GuideBot::DoNotify
PUBLIC ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
_DATA SEGMENT
ORG $+3
$SG7977 DB 'GBotConcern1', 00H
ORG $+3
$SG7981 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7987 DB 'GBotAcceptOrder1', 00H
ORG $+3
$SG7992 DB 'GBotGreetB1', 00H
$SG7994 DB 'GBotGreetB1', 00H
_DATA ENDS
; COMDAT __real@4@400da665190000000000
; File aigame.cpp
CONST SEGMENT
__real@4@400da665190000000000 DD 046a66519r ; 21298.5
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -20
_notify$ = -4
_type$7974 = -8
_command$7986 = -16
?DoNotify@GuideBot@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; GuideBot::DoNotify
; File aigame.cpp
; Line 6008
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 6009
mov eax, DWORD PTR _data$[ebp]
mov DWORD PTR _notify$[ebp], eax
; Line 6011
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 16 ; 00000010H
jne SHORT $L7970
; Line 6013
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+24]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z ; GuideBot::DoExternalCommands
jmp $L7968
$L7970:
; Line 6015
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 6
jne $L7973
; Line 6018
push 0
lea edx, DWORD PTR _type$7974[ebp]
push edx
push 1
push 1
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6020
cmp DWORD PTR _type$7974[ebp], 4
jne SHORT $L7975
; Line 6022
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _notify$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp edx, DWORD PTR [eax+44]
jne SHORT $L7976
; Line 6024
push 0
push OFFSET FLAT:$SG7977
push 1
push 84 ; 00000054H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7976:
; Line 6027
jmp SHORT $L7980
$L7975:
cmp DWORD PTR _type$7974[ebp], 2
jne SHORT $L7980
; Line 6031
call _rand
mov DWORD PTR -24+[ebp], eax
fild DWORD PTR -24+[ebp]
fcomp DWORD PTR __real@4@400da665190000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L7980
; Line 6033
push 0
push OFFSET FLAT:$SG7981
push 0
push 85 ; 00000055H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7980:
; Line 6037
jmp $L7989
$L7973:
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
add esp, 4
and eax, 255 ; 000000ffH
test eax, eax
je $L7989
; Line 6040
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx+8], 1
jne $L7984
; Line 6042
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+76]
fadd DWORD PTR __real@4@3fff8000000000000000
fstp DWORD PTR -28+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -28+[ebp]
fnstsw ax
test ah, 1
je SHORT $L7985
; Line 6046
mov BYTE PTR _command$7986[ebp], 1
; Line 6047
mov BYTE PTR _command$7986[ebp+1], 35 ; 00000023H
; Line 6048
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
lea edx, DWORD PTR _command$7986[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z ; GuideBot::DoExternalCommands
; Line 6049
mov al, 1
jmp $L7968
$L7985:
; Line 6052
push 0
push OFFSET FLAT:$SG7987
push 0
push 86 ; 00000056H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 6053
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+76]
; Line 6055
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 8
push -1
push 1065353216 ; 3f800000H
push 2
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 6056
push 1106247680 ; 41f00000H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 6058
jmp SHORT $L7989
$L7984:
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx+8], 2
jne SHORT $L7989
; Line 6060
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 75 ; 0000004bH
jle SHORT $L7993
; Line 6062
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 50 ; 00000032H
jle SHORT $L7991
; Line 6063
push 0
push OFFSET FLAT:$SG7992
push 0
push 87 ; 00000057H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 6064
jmp SHORT $L7993
$L7991:
; Line 6065
push 0
push OFFSET FLAT:$SG7994
push 0
push 88 ; 00000058H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
$L7993:
; Line 6068
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+96]
$L7989:
; Line 6072
mov al, 1
$L7968:
; Line 6073
mov esp, ebp
pop ebp
ret 8
?DoNotify@GuideBot@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; GuideBot::DoNotify
_TEXT ENDS
; COMDAT ?IsGoalFinishedNotify@@YA_NH@Z
_TEXT SEGMENT
_index$ = 8
?IsGoalFinishedNotify@@YA_NH@Z PROC NEAR ; IsGoalFinishedNotify, COMDAT
; Line 2848
push ebp
mov ebp, esp
push ecx
; Line 2849
cmp DWORD PTR _index$[ebp], 9
je SHORT $L11312
cmp DWORD PTR _index$[ebp], 18 ; 00000012H
je SHORT $L11312
cmp DWORD PTR _index$[ebp], 10 ; 0000000aH
je SHORT $L11312
cmp DWORD PTR _index$[ebp], 11 ; 0000000bH
je SHORT $L11312
mov DWORD PTR -4+[ebp], 0
jmp SHORT $L11313
$L11312:
mov DWORD PTR -4+[ebp], 1
$L11313:
mov al, BYTE PTR -4+[ebp]
; Line 2850
mov esp, ebp
pop ebp
ret 0
?IsGoalFinishedNotify@@YA_NH@Z ENDP ; IsGoalFinishedNotify
_TEXT ENDS
PUBLIC ?DoPowerupCheck@GuideBot@@AAEXH@Z ; GuideBot::DoPowerupCheck
_TEXT SEGMENT
_me$ = 8
_this$ = -180
_pos$8000 = -124
_room$8001 = -112
_scan_objs$8002 = -104
_n_scan$8003 = -4
_i$8004 = -108
_type$8010 = -128
_id$8011 = -132
_f_for_me$8013 = -140
_j$8014 = -136
_command$8021 = -176
?DoPowerupCheck@GuideBot@@AAEXH@Z PROC NEAR ; GuideBot::DoPowerupCheck
; Line 6076
push ebp
mov ebp, esp
sub esp, 188 ; 000000bcH
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 6077
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+944]
fnstsw ax
test ah, 1
jne $L8009
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+56], 0
jne $L8009
; Line 6085
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@40008000000000000000
fstp DWORD PTR -184+[ebp]
call _rand
mov DWORD PTR -188+[ebp], eax
fild DWORD PTR -188+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR -184+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+944]
; Line 6087
push 0
lea edx, DWORD PTR _pos$8000[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6088
push 0
lea ecx, DWORD PTR _room$8001[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6090
push 1
push 0
push 1
push 0
push 25 ; 00000019H
lea eax, DWORD PTR _scan_objs$8002[ebp]
push eax
push 1128792064 ; 43480000H
mov ecx, DWORD PTR _room$8001[ebp]
push ecx
lea edx, DWORD PTR _pos$8000[ebp]
push edx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$8003[ebp], eax
; Line 6092
mov DWORD PTR _i$8004[ebp], 0
jmp SHORT $L8007
$L8008:
mov eax, DWORD PTR _i$8004[ebp]
add eax, 1
mov DWORD PTR _i$8004[ebp], eax
$L8007:
mov ecx, DWORD PTR _i$8004[ebp]
cmp ecx, DWORD PTR _n_scan$8003[ebp]
jge $L8009
; Line 6096
push 0
lea edx, DWORD PTR _type$8010[ebp]
push edx
push 1
push 1
mov eax, DWORD PTR _i$8004[ebp]
mov ecx, DWORD PTR _scan_objs$8002[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6097
push 0
lea edx, DWORD PTR _id$8011[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _i$8004[ebp]
mov ecx, DWORD PTR _scan_objs$8002[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6099
cmp DWORD PTR _type$8010[ebp], 7
jne $L8019
; Line 6101
mov BYTE PTR _f_for_me$8013[ebp], 0
; Line 6104
mov DWORD PTR _j$8014[ebp], 0
jmp SHORT $L8015
$L8016:
mov edx, DWORD PTR _j$8014[ebp]
add edx, 1
mov DWORD PTR _j$8014[ebp], edx
$L8015:
cmp DWORD PTR _j$8014[ebp], 6
jge SHORT $L8017
; Line 6106
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _j$8014[ebp]
xor eax, eax
mov ax, WORD PTR [ecx+edx*2+948]
movsx ecx, WORD PTR _id$8011[ebp]
cmp eax, ecx
jne SHORT $L8018
; Line 6108
mov BYTE PTR _f_for_me$8013[ebp], 1
; Line 6109
jmp SHORT $L8017
$L8018:
; Line 6111
jmp SHORT $L8016
$L8017:
; Line 6113
mov edx, DWORD PTR _f_for_me$8013[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L8019
; Line 6118
mov BYTE PTR _command$8021[ebp], 4
; Line 6120
mov eax, DWORD PTR _i$8004[ebp]
mov ecx, DWORD PTR _scan_objs$8002[ebp+eax*4]
push ecx
lea edx, DWORD PTR _command$8021[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoExternalCommands@GuideBot@@AAE_NHPAUgb_com@@H@Z ; GuideBot::DoExternalCommands
; Line 6122
jmp SHORT $L8009
$L8019:
; Line 6125
jmp $L8008
$L8009:
; Line 6127
pop esi
mov esp, ebp
pop ebp
ret 4
?DoPowerupCheck@GuideBot@@AAEXH@Z ENDP ; GuideBot::DoPowerupCheck
_TEXT ENDS
PUBLIC __real@4@40039000000000000000
PUBLIC __real@4@4003b800000000000000
PUBLIC __real@4@40048400000000000000
PUBLIC __real@4@3ffdf182aa0000000000
PUBLIC __real@4@3fffc000000000000000
PUBLIC __real@8@4003f000000000000000
PUBLIC __real@8@4002f000000000000000
PUBLIC __real@4@4005aa00000000000000
PUBLIC ?DoFrame@GuideBot@@AAEXH@Z ; GuideBot::DoFrame
_DATA SEGMENT
$SG8050 DB 'GBotEuphoria1', 00H
ORG $+2
$SG8077 DB 'GBotEngineB1', 00H
ORG $+3
$SG8086 DB 'GBotAcceptOrder1', 00H
_DATA ENDS
; COMDAT __real@4@40039000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@40039000000000000000 DD 041900000r ; 18
CONST ENDS
; COMDAT __real@4@4003b800000000000000
CONST SEGMENT
__real@4@4003b800000000000000 DD 041b80000r ; 23
CONST ENDS
; COMDAT __real@4@40048400000000000000
CONST SEGMENT
__real@4@40048400000000000000 DD 042040000r ; 33
CONST ENDS
; COMDAT __real@4@3ffdf182aa0000000000
CONST SEGMENT
__real@4@3ffdf182aa0000000000 DD 03ef182aar ; 0.4717
CONST ENDS
; COMDAT __real@4@3fffc000000000000000
CONST SEGMENT
__real@4@3fffc000000000000000 DD 03fc00000r ; 1.5
CONST ENDS
; COMDAT __real@8@4003f000000000000000
CONST SEGMENT
__real@8@4003f000000000000000 DQ 0403e000000000000r ; 30
CONST ENDS
; COMDAT __real@8@4002f000000000000000
CONST SEGMENT
__real@8@4002f000000000000000 DQ 0402e000000000000r ; 15
CONST ENDS
; COMDAT __real@4@4005aa00000000000000
CONST SEGMENT
__real@4@4005aa00000000000000 DD 042aa0000r ; 85
CONST ENDS
_TEXT SEGMENT
$T11316 = -1056
$T11317 = -1068
_me$ = 8
_this$ = -1072
_flags$ = -4
_anim$ = -8
_last_mode_time$ = -16
_dir_index$8045 = -20
_s_id$8049 = -24
_mstruct$8051 = -944
_flags$8053 = -948
_me_pos$8054 = -1008
_it_pos$8055 = -960
_orient$8056 = -996
_dir_to_goal$8057 = -1020
_i$8062 = -1024
_flags$8071 = -1028
_dir_index$8072 = -1032
_s_index$8076 = -1036
_time$8081 = -1040
_parent$8083 = -1044
?DoFrame@GuideBot@@AAEXH@Z PROC NEAR ; GuideBot::DoFrame
; File aigame.cpp
; Line 6130
push ebp
mov ebp, esp
sub esp, 1080 ; 00000438H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 6136
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 1
jne SHORT $L8030
; Line 6137
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoPowerupCheck@GuideBot@@AAEXH@Z ; GuideBot::DoPowerupCheck
$L8030:
; Line 6139
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 1
jne SHORT $L8031
push 8
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+44]
push ecx
call DWORD PTR ?Obj_IsEffect@@3P6A_NHH@ZA ; Obj_IsEffect
add esp, 8
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L8031
; Line 6140
push 1
mov ecx, DWORD PTR _this$[ebp]
call ?InitExtinguish@GuideBot@@AAE_N_N@Z ; GuideBot::InitExtinguish
$L8031:
; Line 6142
push 0
lea edx, DWORD PTR _anim$[ebp]
push edx
push 18 ; 00000012H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6143
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8033
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@4002c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8032
$L8033:
; Line 6145
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+88]
or al, -128 ; ffffff80H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+88], eax
; Line 6147
jmp SHORT $L8034
$L8032:
; Line 6149
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and dl, 127 ; 0000007fH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+88], edx
$L8034:
; Line 6152
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 10 ; 0000000aH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6154
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+36]
mov DWORD PTR _last_mode_time$[ebp], eax
; Line 6155
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+36]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+36]
; Line 6157
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+52], 6
jne SHORT $L8035
; Line 6160
jmp $L8084
$L8035:
mov eax, DWORD PTR _flags$[ebp]
and eax, 8388608 ; 00800000H
test eax, eax
je SHORT $L8037
; Line 6162
push 6
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 6164
jmp $L8084
$L8037:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+52], 11 ; 0000000bH
jne SHORT $L8039
; Line 6166
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+36]
fcomp DWORD PTR __real@4@3fff99999a0000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8040
; Line 6168
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
$L8040:
; Line 6171
jmp $L8025
$L8039:
; Line 6173
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+52], 10 ; 0000000aH
jne $L8042
; Line 6175
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 128 ; 00000080H
test edx, edx
jne SHORT $L8043
fld DWORD PTR _last_mode_time$[ebp]
fcomp DWORD PTR __real@4@3ffe8000000000000000
fnstsw ax
test ah, 1
je SHORT $L8043
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+36]
fcomp DWORD PTR __real@4@3ffe8000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8043
; Line 6177
push -1
push -1
push 0
push 1065353216 ; 3f800000H
push 1102577664 ; 41b80000H
push 1094713344 ; 41400000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8043:
; Line 6180
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fcomp DWORD PTR [ecx+80]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8044
; Line 6182
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3ffe99999a0000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+80]
; Line 6184
call _rand
cdq
mov ecx, 6
idiv ecx
mov DWORD PTR _dir_index$8045[ebp], edx
; Line 6185
mov edx, DWORD PTR _dir_index$8045[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+112]
push edx
push 262148 ; 00040004H
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 6186
push 1101004800 ; 41a00000H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
$L8044:
; Line 6189
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+36]
fcomp DWORD PTR __real@4@4003c800000000000000
fnstsw ax
test ah, 1
je $L8046
; Line 6191
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+104]
fcomp DWORD PTR __real@4@40039000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8047
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@40039000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8047
; Line 6193
push -1
push -1
push 1
push 1069547520 ; 3fc00000H
push 1107558400 ; 42040000H
push 1102577664 ; 41b80000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6194
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+88]
or al, 32 ; 00000020H
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+88], eax
$L8047:
; Line 6197
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
and edx, 32 ; 00000020H
test edx, edx
je $L8048
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@4003b800000000000000
fnstsw ax
test ah, 1
jne $L8048
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@40048400000000000000
fnstsw ax
test ah, 65 ; 00000041H
je $L8048
; Line 6199
push OFFSET FLAT:$SG8050
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_id$8049[ebp], eax
; Line 6200
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _s_id$8049[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 6204
mov BYTE PTR _mstruct$8051[ebp+229], 21 ; 00000015H
; Line 6205
mov BYTE PTR _mstruct$8051[ebp+228], 0
; Line 6206
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$8051[ebp+44], edx
; Line 6207
mov BYTE PTR _mstruct$8051[ebp+231], 1
; Line 6208
mov BYTE PTR _mstruct$8051[ebp+232], 7
; Line 6209
mov BYTE PTR _mstruct$8051[ebp+233], 0
; Line 6210
mov DWORD PTR _mstruct$8051[ebp+236], 981668463 ; 3a83126fH
; Line 6211
mov DWORD PTR _mstruct$8051[ebp+240], 981668463 ; 3a83126fH
; Line 6212
mov DWORD PTR _mstruct$8051[ebp+272], 1020054733 ; 3ccccccdH
; Line 6213
mov DWORD PTR _mstruct$8051[ebp+572], 1203982336 ; 47c35000H
; Line 6214
mov DWORD PTR _mstruct$8051[ebp+576], 1065353216 ; 3f800000H
; Line 6215
mov DWORD PTR _mstruct$8051[ebp+580], 1082549862 ; 40866666H
; Line 6216
mov DWORD PTR _mstruct$8051[ebp+584], 1123024896 ; 42f00000H
; Line 6218
lea eax, DWORD PTR _mstruct$8051[ebp]
push eax
push 33 ; 00000021H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 6220
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _mstruct$8051[ebp+72]
mov DWORD PTR [edx+108], eax
; Line 6222
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+88]
and al, -33 ; ffffffdfH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+88], eax
; Line 6223
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+88]
or edx, 64 ; 00000040H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+88], edx
$L8048:
; Line 6226
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+88]
or ecx, 64 ; 00000040H
test ecx, ecx
je $L8066
; Line 6233
push 0
lea edx, DWORD PTR _flags$8053[ebp]
push edx
push 27 ; 0000001bH
push 1
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 6234
push 0
lea ecx, DWORD PTR _me_pos$8054[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6235
push 0
lea eax, DWORD PTR _orient$8056[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6236
push 0
lea edx, DWORD PTR _it_pos$8055[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+112]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6238
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _me_pos$8054[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _me_pos$8054[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _me_pos$8054[ebp+8]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _it_pos$8055[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _it_pos$8055[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _it_pos$8055[ebp+8]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T11317[ebp]
push ecx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11316[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11316[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11316[ebp+8], edx
mov eax, DWORD PTR $T11316[ebp]
mov DWORD PTR _dir_to_goal$8057[ebp], eax
mov ecx, DWORD PTR $T11316[ebp+4]
mov DWORD PTR _dir_to_goal$8057[ebp+4], ecx
mov edx, DWORD PTR $T11316[ebp+8]
mov DWORD PTR _dir_to_goal$8057[ebp+8], edx
; Line 6239
lea eax, DWORD PTR _dir_to_goal$8057[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 6241
mov ecx, DWORD PTR _flags$8053[ebp]
and ecx, 4
test ecx, ecx
je $L8059
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _orient$8056[ebp+24]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _orient$8056[ebp+28]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _orient$8056[ebp+32]
mov DWORD PTR [edx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _dir_to_goal$8057[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _dir_to_goal$8057[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _dir_to_goal$8057[ebp+8]
mov DWORD PTR [ecx+8], edx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
fcomp DWORD PTR __real@4@3ffdf182aa0000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8059
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@4003b800000000000000
fnstsw ax
test ah, 1
jne SHORT $L8059
fld DWORD PTR _anim$[ebp]
fcomp DWORD PTR __real@4@40048400000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8059
; Line 6242
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+136]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+136]
$L8059:
; Line 6244
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+136]
fcomp DWORD PTR __real@4@3fffc000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne $L8066
; Line 6247
push 0
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+112]
push ecx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
; Line 6249
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+132], 1
jle $L8061
; Line 6252
mov DWORD PTR _i$8062[ebp], 0
jmp SHORT $L8063
$L8064:
mov ecx, DWORD PTR _i$8062[ebp]
add ecx, 1
mov DWORD PTR _i$8062[ebp], ecx
$L8063:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+132]
sub ecx, 1
cmp DWORD PTR _i$8062[ebp], ecx
jge SHORT $L8065
; Line 6254
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _i$8062[ebp]
mov esi, DWORD PTR _i$8062[ebp]
mov eax, DWORD PTR [eax+esi*4+116]
mov DWORD PTR [edx+ecx*4+112], eax
; Line 6255
jmp SHORT $L8064
$L8065:
; Line 6256
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+132]
sub eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+132], eax
; Line 6258
push 10 ; 0000000aH
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
; Line 6260
jmp SHORT $L8066
$L8061:
; Line 6262
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
$L8066:
; Line 6267
jmp SHORT $L8067
$L8046:
; Line 6269
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
$L8067:
; Line 6272
jmp $L8084
$L8042:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 9
jne $L8069
; Line 6274
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fcomp DWORD PTR [eax+80]
fnstsw ax
test ah, 65 ; 00000041H
jne $L8070
; Line 6276
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3fff8000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+80]
; Line 6279
mov DWORD PTR _flags$8071[ebp], 33554432 ; 02000000H
; Line 6280
lea eax, DWORD PTR _flags$8071[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6282
call _rand
cdq
mov ecx, 6
idiv ecx
mov DWORD PTR _dir_index$8072[ebp], edx
; Line 6283
mov edx, DWORD PTR _dir_index$8072[ebp]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+44]
push edx
push 4
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 6284
push 1104674816 ; 41d80000H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
$L8070:
; Line 6287
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+36]
fcomp QWORD PTR __real@8@4003f000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8073
; Line 6289
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@GuideBot@@AAE_NHD@Z ; GuideBot::SetMode
$L8073:
; Line 6292
jmp $L8084
$L8069:
; Line 6294
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+20], -1
jne SHORT $L8075
; Line 6296
push OFFSET FLAT:$SG8077
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _s_index$8076[ebp], eax
; Line 6297
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _s_index$8076[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], eax
$L8075:
; Line 6300
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+52], 1
jne SHORT $L8079
; Line 6302
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fcomp DWORD PTR [eax+80]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8079
; Line 6304
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?ReInitAmbient@GuideBot@@AAEXH@Z ; GuideBot::ReInitAmbient
$L8079:
; Line 6309
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax+48]
cmp ecx, 1
jne SHORT $L8082
; Line 6312
push 0
lea edx, DWORD PTR _time$8081[ebp]
push edx
push 14 ; 0000000eH
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6314
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fsub DWORD PTR _time$8081[ebp]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8082
; Line 6316
mov DWORD PTR _parent$8083[ebp], -1
; Line 6318
push 0
lea ecx, DWORD PTR _parent$8083[ebp]
push ecx
push 17 ; 00000011H
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6319
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+48], 0
$L8082:
; Line 6324
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+96]
fadd QWORD PTR __real@8@4002f000000000000000
fstp QWORD PTR -1080+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp QWORD PTR -1080+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L8084
; Line 6326
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call ?Obj_GetObjDist@@YAMHH_N@Z ; Obj_GetObjDist
add esp, 12 ; 0000000cH
fcomp DWORD PTR __real@4@4005aa00000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8085
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+56], 0
jne SHORT $L8085
; Line 6328
push 0
push OFFSET FLAT:$SG8086
push 0
push 89 ; 00000059H
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoMessage@GuideBot@@AAEXPAD_N01@Z ; GuideBot::DoMessage
; Line 6330
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+44]
push eax
push 8
push -1
push 1065353216 ; 3f800000H
push 2
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 6331
push 1106247680 ; 41f00000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
$L8085:
; Line 6334
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+96]
$L8084:
; Line 6338
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _anim$[ebp]
mov DWORD PTR [eax+104], ecx
$L8025:
; Line 6339
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@GuideBot@@AAEXH@Z ENDP ; GuideBot::DoFrame
_event$ = 8
_data$ = 12
_this$ = -16
_i$8098 = -4
_flags$8102 = -8
_target_handle$8103 = -12
?CallEvent@GuideBot@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; GuideBot::CallEvent
; Line 6342
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 6344
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -20+[ebp], eax
mov ecx, DWORD PTR -20+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -20+[ebp], ecx
cmp DWORD PTR -20+[ebp], 25 ; 00000019H
ja $L8093
mov eax, DWORD PTR -20+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11335[eax]
jmp DWORD PTR $L11336[edx*4]
$L8096:
; Line 6346
push 0
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@GuideBot@@AAE_NH_N@Z ; GuideBot::DoInit
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp $L8091
$L8097:
; Line 6352
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+140], 0
jle $L8101
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+544]
fnstsw ax
test ah, 1
jne $L8101
; Line 6355
mov DWORD PTR _flags$8102[ebp], 196608 ; 00030000H
; Line 6356
lea eax, DWORD PTR _flags$8102[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+144]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6357
mov DWORD PTR _flags$8102[ebp], 0
; Line 6358
lea ecx, DWORD PTR _flags$8102[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+144]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6360
mov DWORD PTR _target_handle$8103[ebp], -1
; Line 6361
lea edx, DWORD PTR _target_handle$8103[ebp]
push edx
push 19 ; 00000013H
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+144]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6363
mov DWORD PTR _i$8098[ebp], 1
jmp SHORT $L8104
$L8105:
mov eax, DWORD PTR _i$8098[ebp]
add eax, 1
mov DWORD PTR _i$8098[ebp], eax
$L8104:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$8098[ebp]
cmp eax, DWORD PTR [edx+140]
jge SHORT $L8106
; Line 6365
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov eax, DWORD PTR _i$8098[ebp]
mov esi, DWORD PTR _i$8098[ebp]
mov edx, DWORD PTR [edx+esi*4+144]
mov DWORD PTR [ecx+eax*4+140], edx
; Line 6366
jmp SHORT $L8105
$L8106:
; Line 6368
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+140]
sub edx, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+140], edx
; Line 6369
jmp $L8097
$L8101:
; Line 6371
jmp SHORT $L8093
$L8107:
; Line 6373
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@GuideBot@@AAEXH@Z ; GuideBot::DoFrame
; Line 6374
jmp SHORT $L8093
$L8108:
; Line 6376
mov ecx, DWORD PTR _data$[ebp]
push ecx
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@GuideBot@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ; GuideBot::DoCollide
; Line 6377
jmp SHORT $L8093
$L8109:
; Line 6379
mov ecx, DWORD PTR _data$[ebp]
push ecx
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@GuideBot@@AAE_NHPAUtOSIRISEventInfo@@@Z ; GuideBot::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8091
$L8110:
; Line 6382
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoUse@GuideBot@@AAE_NH@Z ; GuideBot::DoUse
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8091
$L8112:
; Line 6388
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], edx
$L8093:
; Line 6392
mov ax, 257 ; 00000101H
$L8091:
; Line 6393
pop esi
mov esp, ebp
pop ebp
ret 8
$L11336:
DD $L8097
DD $L8107
DD $L8108
DD $L8110
DD $L8109
DD $L8096
DD $L8112
DD $L8093
$L11335:
DB 0
DB 1
DB 7
DB 2
DB 7
DB 7
DB 7
DB 3
DB 7
DB 7
DB 7
DB 7
DB 7
DB 7
DB 7
DB 7
DB 4
DB 5
DB 7
DB 7
DB 7
DB 7
DB 7
DB 7
DB 7
DB 6
?CallEvent@GuideBot@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; GuideBot::CallEvent
_TEXT ENDS
PUBLIC ?DoAttack@Thief@@AAEXHH@Z ; Thief::DoAttack
_TEXT SEGMENT
_this$ = -4
?DoAttack@Thief@@AAEXHH@Z PROC NEAR ; Thief::DoAttack
; Line 6400
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 6401
mov esp, ebp
pop ebp
ret 8
?DoAttack@Thief@@AAEXHH@Z ENDP ; Thief::DoAttack
_TEXT ENDS
PUBLIC ?DoSteal@Thief@@AAE_NHHH_N@Z ; Thief::DoSteal
_DATA SEGMENT
ORG $+3
$SG8155 DB 'THIEF: INVALID THIEFABLE TYPE!', 0aH, 00H
$SG8157 DB 'THIEF: no mo'' room', 0aH, 00H
$SG8188 DB 'THIEF: Taking %s', 0aH, 00H
ORG $+2
$SG8197 DB 'THIEF: Not taking anything', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_it$ = 12
_attempt_num$ = 16
_f_last_success$ = 20
_this$ = -312
_max_tries$ = -8
_gen_perc$ = -12
_perc_chance$ = -16
_i$ = -24
_count_max$ = -32
_count_num$ = -20
_attempted_steals$ = -28
_ftime$ = -4
_can_take$8158 = -296
_amount$8159 = -36
_message$8160 = -292
_max$8171 = -300
_new_amount$8174 = -304
_k$8181 = -308
?DoSteal@Thief@@AAE_NHHH_N@Z PROC NEAR ; Thief::DoSteal
; Line 6404
push ebp
mov ebp, esp
sub esp, 348 ; 0000015cH
mov DWORD PTR _this$[ebp], ecx
; Line 6405
mov eax, DWORD PTR ?numThiefableItems@@3HA ; numThiefableItems
mov DWORD PTR _max_tries$[ebp], eax
; Line 6411
mov ecx, DWORD PTR ?numThiefableItems@@3HA ; numThiefableItems
push ecx
call _malloc
add esp, 4
mov DWORD PTR _attempted_steals$[ebp], eax
; Line 6412
cmp DWORD PTR _attempted_steals$[ebp], 0
jne SHORT $L8135
; Line 6413
xor al, al
jmp $L8125
$L8135:
; Line 6415
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fstp DWORD PTR _ftime$[ebp]
; Line 6416
fld DWORD PTR _ftime$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 64 ; 00000040H
je SHORT $L8137
; Line 6417
mov DWORD PTR _ftime$[ebp], 1065353216 ; 3f800000H
$L8137:
; Line 6418
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fdiv DWORD PTR _ftime$[ebp]
call __ftol
push eax
call _srand
add esp, 4
; Line 6420
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8138
$L8139:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L8138:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR ?numThiefableItems@@3HA ; numThiefableItems
jge SHORT $L8140
; Line 6422
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
mov BYTE PTR [ecx], 0
; Line 6423
jmp SHORT $L8139
$L8140:
; Line 6425
mov edx, DWORD PTR _max_tries$[ebp]
mov eax, DWORD PTR _max_tries$[ebp]
sub eax, 1
mov DWORD PTR _max_tries$[ebp], eax
test edx, edx
je $L8143
; Line 6427
call _rand
cdq
idiv DWORD PTR ?numThiefableItems@@3HA ; numThiefableItems
mov DWORD PTR _i$[ebp], edx
; Line 6428
call _rand
mov DWORD PTR -316+[ebp], eax
fild DWORD PTR -316+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fstp DWORD PTR _gen_perc$[ebp]
; Line 6430
cmp DWORD PTR _attempt_num$[ebp], 1
jne SHORT $L11341
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx+8]
mov DWORD PTR -320+[ebp], edx
jmp SHORT $L11342
$L11341:
mov eax, DWORD PTR _f_last_success$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L11339
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx+12]
mov DWORD PTR -324+[ebp], edx
jmp SHORT $L11340
$L11339:
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax+16]
mov DWORD PTR -324+[ebp], ecx
$L11340:
mov edx, DWORD PTR -324+[ebp]
mov DWORD PTR -320+[ebp], edx
$L11342:
mov eax, DWORD PTR -320+[ebp]
mov DWORD PTR _perc_chance$[ebp], eax
; Line 6432
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dl, BYTE PTR [ecx]
test edx, edx
je SHORT $L8146
; Line 6435
mov eax, DWORD PTR _max_tries$[ebp]
add eax, 1
mov DWORD PTR _max_tries$[ebp], eax
; Line 6436
jmp $L8140
$L8146:
; Line 6439
mov ecx, DWORD PTR _attempted_steals$[ebp]
add ecx, DWORD PTR _i$[ebp]
mov BYTE PTR [ecx], 1
; Line 6441
fld DWORD PTR _gen_perc$[ebp]
fcomp DWORD PTR _perc_chance$[ebp]
fnstsw ax
test ah, 65 ; 00000041H
je $L8147
; Line 6445
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx+4]
mov DWORD PTR -328+[ebp], eax
cmp DWORD PTR -328+[ebp], 0
jl SHORT $L8154
cmp DWORD PTR -328+[ebp], 1
jle SHORT $L8152
cmp DWORD PTR -328+[ebp], 2
je SHORT $L8153
jmp SHORT $L8154
$L8152:
; Line 6448
mov DWORD PTR _count_max$[ebp], 25 ; 00000019H
; Line 6449
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+60]
mov DWORD PTR _count_num$[ebp], eax
; Line 6450
jmp SHORT $L8149
$L8153:
; Line 6452
mov DWORD PTR _count_max$[ebp], 10 ; 0000000aH
; Line 6453
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+364]
mov DWORD PTR _count_num$[ebp], eax
; Line 6454
jmp SHORT $L8149
$L8154:
; Line 6456
push OFFSET FLAT:$SG8155
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 6457
mov DWORD PTR _count_max$[ebp], 0
; Line 6458
mov DWORD PTR _count_num$[ebp], 0
$L8149:
; Line 6462
mov ecx, DWORD PTR _count_num$[ebp]
cmp ecx, DWORD PTR _count_max$[ebp]
jl SHORT $L8156
; Line 6464
push OFFSET FLAT:$SG8157
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 6465
jmp $L8140
$L8156:
; Line 6470
mov BYTE PTR _can_take$8158[ebp], 0
; Line 6471
mov DWORD PTR _amount$8159[ebp], 0
; Line 6475
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx+4]
mov DWORD PTR -332+[ebp], eax
cmp DWORD PTR -332+[ebp], 0
je SHORT $L8165
cmp DWORD PTR -332+[ebp], 1
je $L8167
cmp DWORD PTR -332+[ebp], 2
je $L8179
jmp $L8162
$L8165:
; Line 6478
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx]
push edx
lea eax, DWORD PTR _amount$8159[ebp]
push eax
push 7
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 6479
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
cmp DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx], 0
je SHORT $L8166
cmp DWORD PTR _amount$8159[ebp], 0
je SHORT $L8166
; Line 6481
mov BYTE PTR _can_take$8158[ebp], 1
; Line 6482
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax+20]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push 90 ; 0000005aH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea edx, DWORD PTR _message$8160[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
$L8166:
; Line 6484
jmp $L8162
$L8167:
; Line 6488
cmp DWORD PTR _attempt_num$[ebp], 1
jle SHORT $L8169
mov eax, DWORD PTR _f_last_success$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne $L8178
$L8169:
; Line 6490
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx]
push edx
lea eax, DWORD PTR _amount$8159[ebp]
push eax
push 7
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 6492
cmp DWORD PTR _amount$8159[ebp], 0
je $L8178
; Line 6496
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
cmp DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx], 14 ; 0000000eH
jle SHORT $L8172
; Line 6499
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, 19 ; 00000013H
sub ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax]
mov DWORD PTR -336+[ebp], ecx
fild DWORD PTR -336+[ebp]
fdiv DWORD PTR __real@4@4000a000000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _max$8171[ebp], eax
; Line 6500
jmp SHORT $L8173
$L8172:
; Line 6503
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, 14 ; 0000000eH
sub eax, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx]
mov DWORD PTR -340+[ebp], eax
fild DWORD PTR -340+[ebp]
fdiv DWORD PTR __real@4@4000a000000000000000
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _max$8171[ebp], eax
$L8173:
; Line 6506
call _rand
mov DWORD PTR -344+[ebp], eax
fild DWORD PTR -344+[ebp]
fdiv DWORD PTR __real@4@400e8000000000000000
fimul DWORD PTR _max$8171[ebp]
fadd DWORD PTR __real@4@3fff8000000000000000
call __ftol
mov DWORD PTR _new_amount$8174[ebp], eax
; Line 6508
mov ecx, DWORD PTR _new_amount$8174[ebp]
cmp ecx, DWORD PTR _amount$8159[ebp]
jge SHORT $L8176
; Line 6509
mov edx, DWORD PTR _new_amount$8174[ebp]
mov DWORD PTR _amount$8159[ebp], edx
$L8176:
; Line 6511
mov BYTE PTR _can_take$8158[ebp], 1
; Line 6513
cmp DWORD PTR _amount$8159[ebp], 1
jne SHORT $L8177
; Line 6515
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax+20]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push 91 ; 0000005bH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea edx, DWORD PTR _message$8160[ebp]
push edx
call _sprintf
add esp, 12 ; 0000000cH
; Line 6516
jmp SHORT $L8178
$L8177:
; Line 6518
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax+20]
push ecx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov edx, DWORD PTR _amount$8159[ebp]
push edx
push 92 ; 0000005cH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea eax, DWORD PTR _message$8160[ebp]
push eax
call _sprintf
add esp, 16 ; 00000010H
$L8178:
; Line 6523
jmp $L8162
$L8179:
; Line 6527
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx]
push edx
lea eax, DWORD PTR _can_take$8158[ebp]
push eax
push 12 ; 0000000cH
push 1
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 6528
mov DWORD PTR _amount$8159[ebp], 1
; Line 6530
mov edx, DWORD PTR _can_take$8158[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L8184
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
cmp DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax], 1
jne SHORT $L8184
; Line 6533
mov DWORD PTR _k$8181[ebp], 0
jmp SHORT $L8182
$L8183:
mov ecx, DWORD PTR _k$8181[ebp]
add ecx, 1
mov DWORD PTR _k$8181[ebp], ecx
$L8182:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _k$8181[ebp]
cmp ecx, DWORD PTR [eax+364]
jge SHORT $L8184
; Line 6535
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _k$8181[ebp]
xor edx, edx
mov dx, WORD PTR [eax+ecx*8+368]
cmp edx, 1
jne SHORT $L8185
; Line 6538
mov BYTE PTR _can_take$8158[ebp], 0
; Line 6539
jmp SHORT $L8184
$L8185:
; Line 6541
jmp SHORT $L8183
$L8184:
; Line 6544
mov eax, DWORD PTR _can_take$8158[ebp]
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L8186
; Line 6546
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx+20]
push edx
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push 90 ; 0000005aH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
lea eax, DWORD PTR _message$8160[ebp]
push eax
call _sprintf
add esp, 12 ; 0000000cH
$L8186:
$L8162:
; Line 6551
mov ecx, DWORD PTR _can_take$8158[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne SHORT $L8187
; Line 6552
jmp $L8140
$L8187:
; Line 6554
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx+20]
push eax
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
push OFFSET FLAT:$SG8188
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 6556
lea ecx, DWORD PTR _message$8160[ebp]
push ecx
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Player_AddHudMessage@@3P6AXHPAD@ZA ; Player_AddHudMessage
add esp, 8
; Line 6559
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax+4]
mov DWORD PTR -348+[ebp], ecx
cmp DWORD PTR -348+[ebp], 0
jl $L8190
cmp DWORD PTR -348+[ebp], 1
jle SHORT $L8193
cmp DWORD PTR -348+[ebp], 2
je $L8196
jmp $L8190
$L8193:
; Line 6562
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov eax, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [eax+4]
mov eax, DWORD PTR [eax+60]
imul eax, 12 ; 0000000cH
mov dl, BYTE PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx]
mov BYTE PTR [ecx+eax+64], dl
; Line 6563
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+60]
imul edx, 12 ; 0000000cH
mov eax, DWORD PTR _it$[ebp]
mov DWORD PTR [ecx+edx+68], eax
; Line 6564
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov eax, DWORD PTR [ecx+60]
imul eax, 12 ; 0000000cH
mov cl, BYTE PTR _amount$8159[ebp]
mov BYTE PTR [edx+eax+72], cl
; Line 6565
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+60]
add ecx, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+60], ecx
; Line 6567
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
cmp DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx+4], 0
jne SHORT $L8194
; Line 6569
mov DWORD PTR _amount$8159[ebp], 0
; Line 6571
jmp SHORT $L8195
$L8194:
; Line 6573
mov edx, DWORD PTR _amount$8159[ebp]
imul edx, -1
mov DWORD PTR _amount$8159[ebp], edx
$L8195:
; Line 6576
mov eax, DWORD PTR _i$[ebp]
imul eax, 24 ; 00000018H
mov ecx, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[eax]
push ecx
lea edx, DWORD PTR _amount$8159[ebp]
push edx
push 7
push 0
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 6578
jmp $L8190
$L8196:
; Line 6580
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 24 ; 00000018H
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [edx+4]
mov edx, DWORD PTR [edx+364]
mov cx, WORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[ecx]
mov WORD PTR [eax+edx*8+368], cx
; Line 6581
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR [edx+364]
mov edx, DWORD PTR _it$[ebp]
mov DWORD PTR [eax+ecx*8+372], edx
; Line 6582
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+364]
add edx, 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+364], edx
; Line 6584
mov edx, DWORD PTR _i$[ebp]
imul edx, 24 ; 00000018H
mov eax, DWORD PTR ?ThiefableItems@@3PAUtThiefItems@@A[edx]
push eax
push 0
push 13 ; 0000000dH
push 0
mov ecx, DWORD PTR _it$[ebp]
push ecx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
$L8190:
; Line 6588
mov edx, DWORD PTR _attempted_steals$[ebp]
push edx
call _free
add esp, 4
; Line 6589
mov al, 1
jmp SHORT $L8125
$L8147:
; Line 6591
jmp $L8140
$L8143:
; Line 6593
push OFFSET FLAT:$SG8197
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
; Line 6594
mov eax, DWORD PTR _attempted_steals$[ebp]
push eax
call _free
add esp, 4
; Line 6595
xor al, al
$L8125:
; Line 6596
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?DoSteal@Thief@@AAE_NHHH_N@Z ENDP ; Thief::DoSteal
_TEXT ENDS
PUBLIC ?DoKidnap@Thief@@AAEXHH@Z ; Thief::DoKidnap
_TEXT SEGMENT
_it$ = 12
_this$ = -4
?DoKidnap@Thief@@AAEXHH@Z PROC NEAR ; Thief::DoKidnap
; Line 6599
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 6600
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+36], 5
jge SHORT $L8203
; Line 6602
push 1
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Obj_Ghost@@3P6AXH_N@ZA ; Obj_Ghost
add esp, 8
; Line 6603
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+36]
mov eax, DWORD PTR _it$[ebp]
mov DWORD PTR [ecx+edx*4+40], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+36]
add eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+36], eax
$L8203:
; Line 6605
mov esp, ebp
pop ebp
ret 8
?DoKidnap@Thief@@AAEXHH@Z ENDP ; Thief::DoKidnap
_TEXT ENDS
PUBLIC __real@4@3ff08001000000000000
PUBLIC ?SetSubMode@Thief@@AAEXHH@Z ; Thief::SetSubMode
; COMDAT __real@4@3ff08001000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ff08001000000000000 DD 038000100r ; 3.05185e-005
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_submode$ = 12
_this$ = -8
_time$8214 = -4
?SetSubMode@Thief@@AAEXHH@Z PROC NEAR ; Thief::SetSubMode
; File aigame.cpp
; Line 6608
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 6609
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+2]
cmp DWORD PTR _submode$[ebp], edx
jne SHORT $L8209
; Line 6610
jmp $L8208
$L8209:
; Line 6612
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+1]
cmp edx, 4
jne SHORT $L8210
; Line 6615
push 0
push -1
push 2
push 1065353216 ; 3f800000H
push 1086324736 ; 40c00000H
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8210:
; Line 6618
cmp DWORD PTR _submode$[ebp], 4
jne SHORT $L8211
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+3]
and eax, 2
test eax, eax
je SHORT $L8211
; Line 6619
jmp $L8208
$L8211:
; Line 6621
cmp DWORD PTR _submode$[ebp], 5
jne SHORT $L8212
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+3]
and eax, 2
test eax, eax
jne SHORT $L8212
; Line 6622
jmp $L8208
$L8212:
; Line 6625
cmp DWORD PTR _submode$[ebp], 0
je SHORT $L8215
cmp DWORD PTR _submode$[ebp], 2
je SHORT $L8215
; Line 6628
lea ecx, DWORD PTR _time$8214[ebp]
push ecx
push 25 ; 00000019H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6630
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _time$8214[ebp]
fadd DWORD PTR __real@4@40008000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L8215
; Line 6632
jmp $L8208
$L8215:
; Line 6637
mov eax, DWORD PTR _submode$[ebp]
mov DWORD PTR -12+[ebp], eax
cmp DWORD PTR -12+[ebp], 5
ja $L8217
mov ecx, DWORD PTR -12+[ebp]
jmp DWORD PTR $L11347[ecx*4]
$L8220:
; Line 6640
push 0
push 65536 ; 00010000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6641
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4002a000000000000000
fstp DWORD PTR -16+[ebp]
call _rand
mov DWORD PTR -20+[ebp], eax
fild DWORD PTR -20+[ebp]
fmul DWORD PTR __real@4@3ff08001000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR -16+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
; Line 6643
jmp $L8217
$L8223:
; Line 6646
push 0
push 65536 ; 00010000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6647
push -1
push -1
push 0
push 1061997773 ; 3f4ccccdH
push 1100480512 ; 41980000H
push 1094713344 ; 41400000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6649
jmp $L8217
$L8224:
; Line 6652
push 1
push 65536 ; 00010000H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6653
push 0
push -1
push 2
push 1080033280 ; 40600000H
push 1115684864 ; 42800000H
push 1112014848 ; 42480000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6655
jmp $L8217
$L8225:
; Line 6658
push 1
push 65536 ; 00010000H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6659
push 0
push -1
push 2
push 1080033280 ; 40600000H
push 1112014848 ; 42480000H
push 1105723392 ; 41e80000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6661
jmp SHORT $L8217
$L8226:
; Line 6664
push 0
push 65536 ; 00010000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6665
push -1
push -1
push 1
push 1036831949 ; 3dcccccdH
push 1105723392 ; 41e80000H
push 1105723392 ; 41e80000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6667
jmp SHORT $L8217
$L8227:
; Line 6670
push 1
push 65536 ; 00010000H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6671
push 0
push -1
push 2
push 1075000115 ; 40133333H
push 1126170624 ; 43200000H
push 1125187584 ; 43110000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8217:
; Line 6676
cmp DWORD PTR _submode$[ebp], 0
je SHORT $L8228
; Line 6678
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _submode$[ebp]
mov BYTE PTR [ecx+2], dl
$L8228:
; Line 6681
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+8], 0
; Line 6682
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _submode$[ebp]
mov BYTE PTR [eax+1], cl
$L8208:
; Line 6683
mov esp, ebp
pop ebp
ret 8
$L11347:
DD $L8220
DD $L8223
DD $L8224
DD $L8225
DD $L8226
DD $L8227
?SetSubMode@Thief@@AAEXHH@Z ENDP ; Thief::SetSubMode
_TEXT ENDS
PUBLIC __real@4@40039800000000000000
PUBLIC __real@4@3ffd8000000000000000
PUBLIC __real@4@4004f400000000000000
PUBLIC __real@4@4004a400000000000000
PUBLIC __real@4@4004b400000000000000
PUBLIC __real@8@4002a000000000000000
PUBLIC ?DoSubModeFrame@Thief@@AAEXH@Z ; Thief::DoSubModeFrame
_DATA SEGMENT
$SG8253 DB 'Seeker', 00H
_DATA ENDS
; COMDAT __real@4@40039800000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@40039800000000000000 DD 041980000r ; 19
CONST ENDS
; COMDAT __real@4@3ffd8000000000000000
CONST SEGMENT
__real@4@3ffd8000000000000000 DD 03e800000r ; 0.25
CONST ENDS
; COMDAT __real@4@4004f400000000000000
CONST SEGMENT
__real@4@4004f400000000000000 DD 042740000r ; 61
CONST ENDS
; COMDAT __real@4@4004a400000000000000
CONST SEGMENT
__real@4@4004a400000000000000 DD 042240000r ; 41
CONST ENDS
; COMDAT __real@4@4004b400000000000000
CONST SEGMENT
__real@4@4004b400000000000000 DD 042340000r ; 45
CONST ENDS
; COMDAT __real@8@4002a000000000000000
CONST SEGMENT
__real@8@4002a000000000000000 DQ 04024000000000000r ; 10
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -1004
_anim_frame$ = -4
_m$ = -924
_r_val$8241 = -928
_orient$8255 = -964
_velocity$8256 = -976
$T11349 = -988
$T11350 = -1000
?DoSubModeFrame@Thief@@AAEXH@Z PROC NEAR ; Thief::DoSubModeFrame
; File aigame.cpp
; Line 6686
push ebp
mov ebp, esp
sub esp, 1020 ; 000003fcH
mov DWORD PTR _this$[ebp], ecx
; Line 6688
push 0
lea eax, DWORD PTR _anim_frame$[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6691
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], edx
; Line 6694
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+1]
mov DWORD PTR -1008+[ebp], edx
cmp DWORD PTR -1008+[ebp], 3
ja $L8260
mov eax, DWORD PTR -1008+[ebp]
jmp DWORD PTR $L11363[eax*4]
$L8239:
; Line 6697
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fcomp DWORD PTR [edx+16]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8240
; Line 6699
call _rand
cdq
mov ecx, 5
idiv ecx
add edx, 1
mov DWORD PTR _r_val$8241[ebp], edx
; Line 6700
mov edx, DWORD PTR _r_val$8241[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@Thief@@AAEXHH@Z ; Thief::SetSubMode
; Line 6703
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4002a000000000000000
fstp DWORD PTR -1012+[ebp]
call _rand
mov DWORD PTR -1016+[ebp], eax
fild DWORD PTR -1016+[ebp]
fmul DWORD PTR __real@4@3ff08001000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR -1012+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+16]
$L8240:
; Line 6706
jmp $L8236
$L8244:
; Line 6710
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4002c000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8245
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@40039800000000000000
fnstsw ax
test ah, 1
je SHORT $L8245
; Line 6712
push -1
push -1
push 1
push 1061997773 ; 3f4ccccdH
push 1102577664 ; 41b80000H
push 1100480512 ; 41980000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8245:
; Line 6715
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@40039800000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8247
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4003b800000000000000
fnstsw ax
test ah, 1
je SHORT $L8247
; Line 6717
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+28]
fadd DWORD PTR __real@4@3ffd8000000000000000
fstp DWORD PTR -1020+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -1020+[ebp]
fnstsw ax
test ah, 1
jne SHORT $L8247
; Line 6719
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+28]
$L8247:
; Line 6725
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+8]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8248
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@40039800000000000000
fnstsw ax
test ah, 1
jne SHORT $L8248
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4003b800000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8248
; Line 6727
push 0
push -1
push 2
push 1061997773 ; 3f4ccccdH
push 1105723392 ; 41e80000H
push 1102577664 ; 41b80000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6728
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@Thief@@AAEXHH@Z ; Thief::SetSubMode
$L8248:
; Line 6732
jmp $L8236
$L8249:
; Line 6735
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4004f400000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8250
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+20]
fcomp DWORD PTR __real@4@4004f400000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8250
; Line 6737
mov DWORD PTR _m$[ebp+576], 1097859072 ; 41700000H
; Line 6738
mov BYTE PTR _m$[ebp+276], 1
; Line 6740
lea edx, DWORD PTR _m$[ebp]
push edx
push 55 ; 00000037H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 6742
push 0
push 65536 ; 00010000H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
$L8250:
; Line 6745
jmp $L8236
$L8251:
; Line 6748
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4004a400000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8252
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+20]
fcomp DWORD PTR __real@4@4004a400000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8252
; Line 6750
push 1
push 1
push 0
push 1
push 2
push OFFSET FLAT:$SG8253
mov eax, DWORD PTR _me$[ebp]
push eax
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+24], eax
$L8252:
; Line 6753
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4004b400000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne $L8254
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+20]
fcomp DWORD PTR __real@4@4004b400000000000000
fnstsw ax
test ah, 65 ; 00000041H
je $L8254
; Line 6756
push 0
lea edx, DWORD PTR _orient$8255[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6757
push 1112014848 ; 42480000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$8255[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$8255[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$8255[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11350[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11349[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11349[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11349[ebp+8], eax
mov ecx, DWORD PTR $T11349[ebp]
mov DWORD PTR _velocity$8256[ebp], ecx
mov edx, DWORD PTR $T11349[ebp+4]
mov DWORD PTR _velocity$8256[ebp+4], edx
mov eax, DWORD PTR $T11349[ebp+8]
mov DWORD PTR _velocity$8256[ebp+8], eax
; Line 6759
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+24]
push eax
call DWORD PTR ?Obj_UnattachFromParent@@3P6AXH@ZA ; Obj_UnattachFromParent
add esp, 4
; Line 6761
push 0
lea ecx, DWORD PTR _velocity$8256[ebp]
push ecx
push 6
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+24]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6763
push 0
push 65536 ; 00010000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
$L8254:
$L8260:
$L8236:
; Line 6781
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+1]
test edx, edx
je SHORT $L8261
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+8]
fcomp QWORD PTR __real@8@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8261
; Line 6783
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@Thief@@AAEXHH@Z ; Thief::SetSubMode
$L8261:
; Line 6785
mov esp, ebp
pop ebp
ret 4
$L11363:
DD $L8239
DD $L8244
DD $L8249
DD $L8251
?DoSubModeFrame@Thief@@AAEXH@Z ENDP ; Thief::DoSubModeFrame
_TEXT ENDS
PUBLIC ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
_TEXT SEGMENT
_me$ = 8
_new_mode$ = 12
_this$ = -28
_pos$ = -20
_room$ = -8
_flags$ = -4
_temp$8277 = -24
?SetMode@Thief@@AAEXHH@Z PROC NEAR ; Thief::SetMode
; Line 6788
push ebp
mov ebp, esp
sub esp, 32 ; 00000020H
mov DWORD PTR _this$[ebp], ecx
; Line 6790
mov DWORD PTR _room$[ebp], 0
; Line 6792
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 6795
mov DWORD PTR _flags$[ebp], 128 ; 00000080H
; Line 6796
lea ecx, DWORD PTR _flags$[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6799
mov eax, DWORD PTR _new_mode$[ebp]
mov DWORD PTR -32+[ebp], eax
cmp DWORD PTR -32+[ebp], 7
ja $L8271
mov ecx, DWORD PTR -32+[ebp]
jmp DWORD PTR $L11365[ecx*4]
$L8274:
; Line 6802
mov edx, DWORD PTR _room$[ebp]
push edx
lea eax, DWORD PTR _pos$[ebp]
push eax
push 4108 ; 0000100cH
push -1
push 1065353216 ; 3f800000H
push 2
push 64 ; 00000040H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 6803
push 0
push 65536 ; 00010000H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalFlags@@3P6AHHHHE@ZA ; AI_SetGoalFlags
add esp, 16 ; 00000010H
; Line 6805
jmp $L8271
$L8275:
; Line 6808
mov DWORD PTR _flags$[ebp], 128 ; 00000080H
; Line 6809
lea eax, DWORD PTR _flags$[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6811
push 6
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 6813
jmp $L8271
$L8276:
; Line 6816
mov DWORD PTR _flags$[ebp], 128 ; 00000080H
; Line 6817
lea eax, DWORD PTR _flags$[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6819
mov DWORD PTR _temp$8277[ebp], 0
; Line 6820
lea edx, DWORD PTR _temp$8277[ebp]
push edx
push 2
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6821
push -1
push -1
push 0
push 1090519040 ; 41000000H
push 1124859904 ; 430c0000H
push 1118437376 ; 42aa0000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 6823
jmp SHORT $L8271
$L8278:
; Line 6826
mov DWORD PTR _flags$[ebp], 128 ; 00000080H
; Line 6827
lea edx, DWORD PTR _flags$[ebp]
push edx
push 51 ; 00000033H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6829
mov ecx, DWORD PTR _me$[ebp]
push ecx
push 65540 ; 00010004H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 6830
push -1
push -1
push 0
push 1065353216 ; 3f800000H
push 1116602368 ; 428e0000H
push 1115684864 ; 42800000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8271:
; Line 6859
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+12], 0
; Line 6860
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _new_mode$[ebp]
mov BYTE PTR [ecx], dl
; Line 6861
mov esp, ebp
pop ebp
ret 8
$L11365:
DD $L8274
DD $L8271
DD $L8275
DD $L8271
DD $L8278
DD $L8271
DD $L8271
DD $L8276
?SetMode@Thief@@AAEXHH@Z ENDP ; Thief::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Thief@@AAEXH@Z ; Thief::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -36
_ch$ = -16
?DoInit@Thief@@AAEXH@Z PROC NEAR ; Thief::DoInit
; Line 6864
push ebp
mov ebp, esp
sub esp, 36 ; 00000024H
mov DWORD PTR _this$[ebp], ecx
; Line 6869
mov WORD PTR _ch$[ebp+8], 4
; Line 6870
mov DWORD PTR _ch$[ebp+12], 456 ; 000001c8H
; Line 6871
mov DWORD PTR _ch$[ebp], 0
; Line 6872
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 6874
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 6875
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
; Line 6876
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], 0
; Line 6877
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+28]
; Line 6879
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+36], 0
; Line 6880
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+60], 0
; Line 6881
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+364], 0
; Line 6882
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 32 ; 00000020H
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6884
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
; Line 6885
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetSubMode@Thief@@AAEXHH@Z ; Thief::SetSubMode
; Line 6886
mov esp, ebp
pop ebp
ret 4
?DoInit@Thief@@AAEXH@Z ENDP ; Thief::DoInit
_TEXT ENDS
PUBLIC ?DoCollide@Thief@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ; Thief::DoCollide
_TEXT SEGMENT
_this$ = -4
?DoCollide@Thief@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z PROC NEAR ; Thief::DoCollide
; Line 6889
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 6890
mov esp, ebp
pop ebp
ret 8
?DoCollide@Thief@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ENDP ; Thief::DoCollide
_TEXT ENDS
PUBLIC ?DoNotify@Thief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Thief::DoNotify
_TEXT SEGMENT
_me$ = 8
_notify$ = 12
_this$ = -20
_target_handle$8309 = -4
_target_type$8310 = -8
_f_success$8312 = -12
_id$8315 = -16
?DoNotify@Thief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z PROC NEAR ; Thief::DoNotify
; Line 6893
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
mov DWORD PTR _this$[ebp], ecx
; Line 6895
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax]
mov DWORD PTR -24+[ebp], ecx
cmp DWORD PTR -24+[ebp], 14 ; 0000000eH
je $L8318
cmp DWORD PTR -24+[ebp], 23 ; 00000017H
je SHORT $L8308
jmp $L8305
$L8308:
; Line 6901
lea edx, DWORD PTR _target_handle$8309[ebp]
push edx
push 19 ; 00000013H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 6902
push 0
lea ecx, DWORD PTR _target_type$8310[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _target_handle$8309[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6904
cmp DWORD PTR _target_type$8310[ebp], 4
jne SHORT $L8311
; Line 6908
push 0
push 1
mov eax, DWORD PTR _target_handle$8309[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoSteal@Thief@@AAE_NHHH_N@Z ; Thief::DoSteal
mov BYTE PTR _f_success$8312[ebp], al
; Line 6909
mov dl, BYTE PTR _f_success$8312[ebp]
push edx
push 2
mov eax, DWORD PTR _target_handle$8309[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoSteal@Thief@@AAE_NHHH_N@Z ; Thief::DoSteal
; Line 6911
jmp SHORT $L8317
$L8311:
cmp DWORD PTR _target_type$8310[ebp], 2
jne SHORT $L8317
; Line 6915
push 0
lea edx, DWORD PTR _id$8315[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _target_handle$8309[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6916
mov ecx, DWORD PTR _id$8315[ebp]
and ecx, 65535 ; 0000ffffH
test ecx, ecx
jne SHORT $L8316
; Line 6918
mov edx, DWORD PTR _target_handle$8309[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoKidnap@Thief@@AAEXHH@Z ; Thief::DoKidnap
; Line 6920
jmp SHORT $L8317
$L8316:
; Line 6922
mov ecx, DWORD PTR _target_handle$8309[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoAttack@Thief@@AAEXHH@Z ; Thief::DoAttack
$L8317:
; Line 6927
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
; Line 6929
jmp SHORT $L8305
$L8318:
; Line 6932
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
cmp eax, 2
jne SHORT $L8319
; Line 6934
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8319:
$L8305:
; Line 6940
mov al, 1
; Line 6941
mov esp, ebp
pop ebp
ret 8
?DoNotify@Thief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ENDP ; Thief::DoNotify
_TEXT ENDS
PUBLIC __real@4@4005ac00000000000000
PUBLIC __real@8@40058200000000000000
PUBLIC __real@8@40058e00000000000000
PUBLIC __real@4@40008ccccd0000000000
PUBLIC __real@8@4003a000000000000000
PUBLIC ?SpewEverything@Thief@@AAEXH@Z ; Thief::SpewEverything
PUBLIC ?DoFrame@Thief@@AAEXH@Z ; Thief::DoFrame
_DATA SEGMENT
ORG $+1
$SG8336 DB 'TubbsHitBlast', 00H
_DATA ENDS
; COMDAT __real@4@4005ac00000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4005ac00000000000000 DD 042ac0000r ; 86
CONST ENDS
; COMDAT __real@8@40058200000000000000
CONST SEGMENT
__real@8@40058200000000000000 DQ 04050400000000000r ; 65
CONST ENDS
; COMDAT __real@8@40058e00000000000000
CONST SEGMENT
__real@8@40058e00000000000000 DQ 04051c00000000000r ; 71
CONST ENDS
; COMDAT __real@4@40008ccccd0000000000
CONST SEGMENT
__real@4@40008ccccd0000000000 DD 0400ccccdr ; 2.2
CONST ENDS
; COMDAT __real@8@4003a000000000000000
CONST SEGMENT
__real@8@4003a000000000000000 DQ 04034000000000000r ; 20
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -960
_anim_frame$ = -12
_shields$ = -8
_flags$ = -4
_f_used$ = -936
_m$ = -932
_room$8333 = -944
_pos$8334 = -956
_weapon_id$8335 = -940
?DoFrame@Thief@@AAEXH@Z PROC NEAR ; Thief::DoFrame
; File aigame.cpp
; Line 6944
push ebp
mov ebp, esp
sub esp, 960 ; 000003c0H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 6953
push 0
lea eax, DWORD PTR _anim_frame$[ebp]
push eax
push 18 ; 00000012H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6954
push 0
lea edx, DWORD PTR _shields$[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6955
push 0
lea ecx, DWORD PTR _flags$[ebp]
push ecx
push 10 ; 0000000aH
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6958
push 0
lea eax, DWORD PTR _f_used$[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 6959
mov edx, DWORD PTR _f_used$[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L8328
; Line 6961
jmp $L8323
$L8328:
; Line 6965
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 6967
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 38 ; 00000026H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 6968
lea edx, DWORD PTR _m$[ebp]
push edx
push 40 ; 00000028H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 6970
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx]
cmp edx, 7
je SHORT $L8330
mov eax, DWORD PTR _flags$[ebp]
and eax, 8388608 ; 00800000H
test eax, eax
je SHORT $L8330
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8330
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8330
; Line 6972
push 7
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8330:
; Line 6975
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax]
cmp ecx, 7
jne $L8331
; Line 6977
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4005ac00000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne $L8332
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+20]
fcomp DWORD PTR __real@4@4005ac00000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8332
; Line 6983
push 0
lea ecx, DWORD PTR _room$8333[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6984
push 0
lea eax, DWORD PTR _pos$8334[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 6986
push OFFSET FLAT:$SG8336
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$8335[ebp], eax
; Line 6987
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
push 0
lea eax, DWORD PTR _pos$8334[ebp]
push eax
mov ecx, DWORD PTR _room$8333[ebp]
push ecx
mov dx, WORD PTR _weapon_id$8335[ebp]
push edx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
$L8332:
; Line 6990
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+12]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 1
je SHORT $L8337
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+12]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8337
; Line 6992
push 1065353216 ; 3f800000H
push 1232348160 ; 49742400H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L8337:
; Line 6995
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+12]
fcomp DWORD PTR __real@4@40028000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8338
; Line 6997
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L8338:
; Line 7000
jmp $L8350
$L8331:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
cmp eax, 4
jne $L8340
; Line 7002
fld DWORD PTR _anim_frame$[ebp]
fcomp QWORD PTR __real@8@40058200000000000000
fnstsw ax
test ah, 1
jne SHORT $L8341
fld DWORD PTR _anim_frame$[ebp]
fcomp QWORD PTR __real@8@40058e00000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8341
; Line 7004
push -1
push -1
push 1
push 1065353216 ; 3f800000H
push 1117650944 ; 429e0000H
push 1116602368 ; 428e0000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8341:
; Line 7007
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+12]
fcomp DWORD PTR __real@4@40008ccccd0000000000
fnstsw ax
test ah, 1
je SHORT $L8342
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+12]
fcomp DWORD PTR __real@4@40008ccccd0000000000
fnstsw ax
test ah, 1
jne SHORT $L8342
; Line 7009
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SpewEverything@Thief@@AAEXH@Z ; Thief::SpewEverything
$L8342:
; Line 7012
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+12]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
je SHORT $L8343
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+12]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8343
; Line 7014
push 0
push -1
push 2
push 1069547520 ; 3fc00000H
push 1118437376 ; 42aa0000H
push 1117650944 ; 429e0000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L8343:
; Line 7017
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+12]
fcomp DWORD PTR __real@4@4000c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8344
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8344
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4001c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8344
; Line 7019
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8344:
; Line 7022
jmp $L8350
$L8340:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
test eax, eax
jne $L8346
; Line 7024
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoSubModeFrame@Thief@@AAEXH@Z ; Thief::DoSubModeFrame
; Line 7026
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+12]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8347
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+1]
test eax, eax
jne SHORT $L8347
; Line 7028
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8347:
; Line 7031
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR __real@4@4003a000000000000000
fnstsw ax
test ah, 1
je SHORT $L8348
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+32]
fcomp QWORD PTR __real@8@4003a000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8348
; Line 7033
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8348:
; Line 7036
jmp SHORT $L8350
$L8346:
; Line 7038
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+12]
fcomp QWORD PTR __real@8@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8350
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+1]
test eax, eax
jne SHORT $L8350
; Line 7040
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Thief@@AAEXHH@Z ; Thief::SetMode
$L8350:
; Line 7045
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+12]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+12]
; Line 7046
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 7048
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _anim_frame$[ebp]
mov DWORD PTR [eax+20], ecx
; Line 7049
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _shields$[ebp]
mov DWORD PTR [eax+32], ecx
$L8323:
; Line 7050
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Thief@@AAEXH@Z ENDP ; Thief::DoFrame
_TEXT ENDS
_DATA SEGMENT
ORG $+2
$SG8401 DB 'ThiefAutoMap', 00H
ORG $+3
$SG8404 DB 'HeadlightPowerup', 00H
ORG $+3
$SG8407 DB 'Converter', 00H
ORG $+2
$SG8410 DB 'Cloak', 00H
ORG $+2
$SG8413 DB 'Invulnerability', 00H
$SG8416 DB 'Rapidfire', 00H
ORG $+2
$SG8419 DB 'QuadLaser', 00H
_DATA ENDS
_TEXT SEGMENT
$T11381 = -80
$T11382 = -92
$T11383 = -104
$T11384 = -116
_me$ = 8
_this$ = -120
_i$ = -8
_powerup_handle$ = -4
_room$ = -12
_pos$ = -24
_id$8362 = -32
_j$8363 = -28
_speed$8367 = -36
_dir$8369 = -48
_id$8394 = -52
_speed$8422 = -56
_dir$8424 = -68
?SpewEverything@Thief@@AAEXH@Z PROC NEAR ; Thief::SpewEverything
; Line 7053
push ebp
mov ebp, esp
sub esp, 156 ; 0000009cH
mov DWORD PTR _this$[ebp], ecx
; Line 7059
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7060
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7062
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8359
$L8360:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L8359:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR [eax+60]
jge $L8361
; Line 7067
mov DWORD PTR _j$8363[ebp], 0
jmp SHORT $L8364
$L8365:
mov edx, DWORD PTR _j$8363[ebp]
add edx, 1
mov DWORD PTR _j$8363[ebp], edx
$L8364:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+72]
cmp DWORD PTR _j$8363[ebp], eax
jge $L8366
; Line 7069
call _rand
mov DWORD PTR -124+[ebp], eax
fild DWORD PTR -124+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003a000000000000000
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR _speed$8367[ebp]
; Line 7072
call _rand
mov DWORD PTR -128+[ebp], eax
fild DWORD PTR -128+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8369[ebp]
; Line 7073
call _rand
mov DWORD PTR -132+[ebp], eax
fild DWORD PTR -132+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8369[ebp+4]
; Line 7074
call _rand
mov DWORD PTR -136+[ebp], eax
fild DWORD PTR -136+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8369[ebp+8]
; Line 7076
lea ecx, DWORD PTR _dir$8369[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 7077
mov edx, DWORD PTR _speed$8367[ebp]
push edx
lea eax, DWORD PTR _dir$8369[ebp]
push eax
lea ecx, DWORD PTR $T11382[ebp]
push ecx
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11381[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11381[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11381[ebp+8], edx
; Line 7079
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
imul edx, 12 ; 0000000cH
movsx eax, BYTE PTR [ecx+edx+64]
push eax
lea ecx, DWORD PTR _id$8362[ebp]
push ecx
push 9
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
imul ecx, 12 ; 0000000cH
mov edx, DWORD PTR [eax+ecx+68]
push edx
call DWORD PTR ?Player_Value@@3P6AXHDDPAXH@ZA ; Player_Value
add esp, 20 ; 00000014H
; Line 7080
lea eax, DWORD PTR _dir$8369[ebp]
push eax
push -1
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
mov edx, DWORD PTR _room$[ebp]
push edx
mov ax, WORD PTR _id$8362[ebp]
push eax
push 7
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _powerup_handle$[ebp], eax
; Line 7081
jmp $L8365
$L8366:
; Line 7083
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
imul eax, 12 ; 0000000cH
mov BYTE PTR [edx+eax+72], 0
; Line 7084
jmp $L8360
$L8361:
; Line 7086
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8374
$L8375:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L8374:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR [eax+36]
jge SHORT $L8376
; Line 7088
jmp SHORT $L8375
$L8376:
; Line 7089
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+36], 0
; Line 7091
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8377
$L8378:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L8377:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR [eax+364]
jge $L8379
; Line 7097
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dx, WORD PTR [eax+ecx*8+368]
mov DWORD PTR -140+[ebp], edx
mov eax, DWORD PTR -140+[ebp]
sub eax, 1
mov DWORD PTR -140+[ebp], eax
cmp DWORD PTR -140+[ebp], 6
ja $L8420
mov ecx, DWORD PTR -140+[ebp]
jmp DWORD PTR $L11385[ecx*4]
$L8399:
; Line 7099
cmp DWORD PTR _?am_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8400
; Line 7100
push OFFSET FLAT:$SG8401
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?am_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8400:
; Line 7101
mov edx, DWORD PTR _?am_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], edx
; Line 7102
jmp $L8396
$L8402:
; Line 7104
cmp DWORD PTR _?hl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8403
; Line 7105
push OFFSET FLAT:$SG8404
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?hl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8403:
; Line 7106
mov eax, DWORD PTR _?hl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], eax
; Line 7107
jmp $L8396
$L8405:
; Line 7109
cmp DWORD PTR _?etos_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8406
; Line 7110
push OFFSET FLAT:$SG8407
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?etos_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8406:
; Line 7111
mov ecx, DWORD PTR _?etos_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], ecx
; Line 7112
jmp $L8396
$L8408:
; Line 7114
cmp DWORD PTR _?cl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8409
; Line 7115
push OFFSET FLAT:$SG8410
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?cl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8409:
; Line 7116
mov edx, DWORD PTR _?cl_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], edx
; Line 7117
jmp SHORT $L8396
$L8411:
; Line 7119
cmp DWORD PTR _?iv_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8412
; Line 7120
push OFFSET FLAT:$SG8413
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?iv_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8412:
; Line 7121
mov eax, DWORD PTR _?iv_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], eax
; Line 7122
jmp SHORT $L8396
$L8414:
; Line 7124
cmp DWORD PTR _?rf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8415
; Line 7125
push OFFSET FLAT:$SG8416
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?rf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8415:
; Line 7126
mov ecx, DWORD PTR _?rf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], ecx
; Line 7127
jmp SHORT $L8396
$L8417:
; Line 7129
cmp DWORD PTR _?qf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, -2 ; fffffffeH
jne SHORT $L8418
; Line 7130
push OFFSET FLAT:$SG8419
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _?qf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA, eax
$L8418:
; Line 7131
mov edx, DWORD PTR _?qf_id@?9??SpewEverything@Thief@@AAEXH@Z@4HA
mov DWORD PTR _id$8394[ebp], edx
; Line 7132
jmp SHORT $L8396
$L8420:
; Line 7134
mov DWORD PTR _id$8394[ebp], -1
$L8396:
; Line 7138
cmp DWORD PTR _id$8394[ebp], -1
jle $L8421
; Line 7140
call _rand
mov DWORD PTR -144+[ebp], eax
fild DWORD PTR -144+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003a000000000000000
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR _speed$8422[ebp]
; Line 7143
call _rand
mov DWORD PTR -148+[ebp], eax
fild DWORD PTR -148+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8424[ebp]
; Line 7144
call _rand
mov DWORD PTR -152+[ebp], eax
fild DWORD PTR -152+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8424[ebp+4]
; Line 7145
call _rand
mov DWORD PTR -156+[ebp], eax
fild DWORD PTR -156+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsub DWORD PTR __real@4@3ffe8000000000000000
fstp DWORD PTR _dir$8424[ebp+8]
; Line 7147
lea eax, DWORD PTR _dir$8424[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 7148
mov ecx, DWORD PTR _speed$8422[ebp]
push ecx
lea edx, DWORD PTR _dir$8424[ebp]
push edx
lea eax, DWORD PTR $T11384[ebp]
push eax
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11383[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11383[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11383[ebp+8], eax
; Line 7150
lea ecx, DWORD PTR _dir$8424[ebp]
push ecx
push -1
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
mov eax, DWORD PTR _room$[ebp]
push eax
mov cx, WORD PTR _id$8394[ebp]
push ecx
push 7
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _powerup_handle$[ebp], eax
$L8421:
; Line 7152
jmp $L8378
$L8379:
; Line 7153
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+364], 0
; Line 7154
mov esp, ebp
pop ebp
ret 4
$L11385:
DD $L8399
DD $L8402
DD $L8405
DD $L8408
DD $L8411
DD $L8414
DD $L8417
?SpewEverything@Thief@@AAEXH@Z ENDP ; Thief::SpewEverything
_TEXT ENDS
PUBLIC ?DoDestroy@Thief@@AAEXHPAUtOSIRISEVTDESTROY@@@Z ; Thief::DoDestroy
_TEXT SEGMENT
_me$ = 8
_this$ = -4
?DoDestroy@Thief@@AAEXHPAUtOSIRISEVTDESTROY@@@Z PROC NEAR ; Thief::DoDestroy
; Line 7157
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 7158
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SpewEverything@Thief@@AAEXH@Z ; Thief::SpewEverything
; Line 7159
mov esp, ebp
pop ebp
ret 8
?DoDestroy@Thief@@AAEXHPAUtOSIRISEVTDESTROY@@@Z ENDP ; Thief::DoDestroy
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Thief@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Thief::CallEvent
; Line 7162
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7164
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja $L8440
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11388[eax]
jmp DWORD PTR $L11389[edx*4]
$L8443:
; Line 7166
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Thief@@AAEXH@Z ; Thief::DoInit
; Line 7167
jmp SHORT $L8440
$L8444:
; Line 7169
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Thief@@AAEXH@Z ; Thief::DoFrame
; Line 7170
jmp SHORT $L8440
$L8445:
; Line 7172
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@Thief@@AAEXHPAUtOSIRISEVTCOLLIDE@@@Z ; Thief::DoCollide
; Line 7173
jmp SHORT $L8440
$L8446:
; Line 7175
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Thief@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Thief::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8438
$L8447:
; Line 7178
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoDestroy@Thief@@AAEXHPAUtOSIRISEVTDESTROY@@@Z ; Thief::DoDestroy
; Line 7179
jmp SHORT $L8440
$L8448:
; Line 7182
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8440:
; Line 7186
mov ax, 257 ; 00000101H
$L8438:
; Line 7187
mov esp, ebp
pop ebp
ret 8
$L11389:
DD $L8444
DD $L8445
DD $L8447
DD $L8446
DD $L8443
DD $L8448
DD $L8440
$L11388:
DB 0
DB 6
DB 1
DB 6
DB 2
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 3
DB 4
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 6
DB 5
?CallEvent@Thief@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Thief::CallEvent
_TEXT ENDS
PUBLIC __real@8@4007c800000000000000
PUBLIC __real@4@4000cccccd0000000000
PUBLIC ?SetMode@Sickle@@AAEXHD@Z ; Sickle::SetMode
_DATA SEGMENT
ORG $+2
$SG8481 DB 'Sickle is all messed up!', 0aH, 00H
_DATA ENDS
; COMDAT __real@8@4007c800000000000000
; File aigame.cpp
CONST SEGMENT
__real@8@4007c800000000000000 DQ 04079000000000000r ; 400
CONST ENDS
; COMDAT __real@4@4000cccccd0000000000
CONST SEGMENT
__real@4@4000cccccd0000000000 DD 0404ccccdr ; 3.2
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -136
_flags$8461 = -4
_ray$8463 = -92
_flags$8464 = -20
_fate$8465 = -28
_start_room$8466 = -32
_start_pos$8467 = -104
_end_pos$8468 = -16
_ceiling_room$8469 = -24
_flags$8471 = -108
_movement_type$8472 = -112
_flags$8474 = -128
_vel$8475 = -124
_movement_type$8476 = -132
?SetMode@Sickle@@AAEXHD@Z PROC NEAR ; Sickle::SetMode
; File aigame.cpp
; Line 7200
push ebp
mov ebp, esp
sub esp, 144 ; 00000090H
mov DWORD PTR _this$[ebp], ecx
; Line 7201
movsx eax, BYTE PTR _mode$[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp eax, DWORD PTR [edx]
jne SHORT $L8455
; Line 7202
jmp $L8454
$L8455:
; Line 7206
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+41], 0
; Line 7207
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+40], 0
; Line 7209
push 5
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 7212
movsx edx, BYTE PTR _mode$[ebp]
mov DWORD PTR -140+[ebp], edx
mov eax, DWORD PTR -140+[ebp]
sub eax, 3
mov DWORD PTR -140+[ebp], eax
cmp DWORD PTR -140+[ebp], 12 ; 0000000cH
ja $L8480
mov edx, DWORD PTR -140+[ebp]
xor ecx, ecx
mov cl, BYTE PTR $L11395[edx]
jmp DWORD PTR $L11396[ecx*4]
$L8460:
; Line 7218
mov DWORD PTR _flags$8461[ebp], 33554432 ; 02000000H
; Line 7219
lea eax, DWORD PTR _flags$8461[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7222
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+56]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 44 ; 0000002cH
push eax
push 4104 ; 00001008H
push -1
push 1065353216 ; 3f800000H
push 2
push 1048576 ; 00100000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 7223
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 7225
jmp $L8457
$L8462:
; Line 7240
mov DWORD PTR _flags$8464[ebp], 2
; Line 7241
push 0
lea eax, DWORD PTR _flags$8464[ebp]
push eax
push 16 ; 00000010H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7243
push 0
lea edx, DWORD PTR _start_pos$8467[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7244
push 0
lea ecx, DWORD PTR _start_room$8466[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7245
mov eax, DWORD PTR _start_pos$8467[ebp]
mov DWORD PTR _end_pos$8468[ebp], eax
mov ecx, DWORD PTR _start_pos$8467[ebp+4]
mov DWORD PTR _end_pos$8468[ebp+4], ecx
mov edx, DWORD PTR _start_pos$8467[ebp+8]
mov DWORD PTR _end_pos$8468[ebp+8], edx
; Line 7246
fld DWORD PTR _end_pos$8468[ebp+4]
fadd QWORD PTR __real@8@4007c800000000000000
fstp DWORD PTR _end_pos$8468[ebp+4]
; Line 7247
mov DWORD PTR _flags$8464[ebp], 1049353 ; 00100309H
; Line 7248
lea eax, DWORD PTR _ray$8463[ebp]
push eax
mov ecx, DWORD PTR _flags$8464[ebp]
push ecx
push 0
mov edx, DWORD PTR _start_room$8466[ebp]
push edx
lea eax, DWORD PTR _end_pos$8468[ebp]
push eax
lea ecx, DWORD PTR _start_pos$8467[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$8465[ebp], eax
; Line 7250
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 8
mov edx, DWORD PTR _ray$8463[ebp+8]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _ray$8463[ebp+12]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _ray$8463[ebp+16]
mov DWORD PTR [ecx+8], edx
; Line 7251
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+12]
fsub DWORD PTR __real@4@4000cccccd0000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+12]
; Line 7253
lea ecx, DWORD PTR _ray$8463[ebp]
push ecx
mov edx, DWORD PTR _flags$8464[ebp]
push edx
push 0
mov eax, DWORD PTR _start_room$8466[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 8
push edx
lea eax, DWORD PTR _start_pos$8467[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?FVI_RayCast@@3P6AHHPAUvector@@0HMHPAUray_info@@@ZA ; FVI_RayCast
add esp, 28 ; 0000001cH
mov DWORD PTR _fate$8465[ebp], eax
; Line 7254
mov edx, DWORD PTR _ray$8463[ebp+4]
mov DWORD PTR _ceiling_room$8469[ebp], edx
; Line 7256
mov eax, DWORD PTR _ceiling_room$8469[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 8
push edx
push 131077 ; 00020005H
push -1
push 1065353216 ; 3f800000H
push 2
push 1048576 ; 00100000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 7257
push 0
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 7260
mov DWORD PTR _flags$8464[ebp], 262144 ; 00040000H
; Line 7261
push 0
lea edx, DWORD PTR _flags$8464[ebp]
push edx
push 16 ; 00000010H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7263
mov DWORD PTR _flags$8464[ebp], 528482304 ; 1f800000H
; Line 7264
push 0
lea ecx, DWORD PTR _flags$8464[ebp]
push ecx
push 16 ; 00000010H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7266
jmp $L8457
$L8470:
; Line 7273
mov DWORD PTR _flags$8471[ebp], 536870976 ; 20000040H
; Line 7274
lea eax, DWORD PTR _flags$8471[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7276
mov BYTE PTR _movement_type$8472[ebp], 0
; Line 7277
push 0
lea edx, DWORD PTR _movement_type$8472[ebp]
push edx
push 13 ; 0000000dH
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7279
jmp $L8457
$L8473:
; Line 7286
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx], 12 ; 0000000cH
jne SHORT $L8477
; Line 7288
push 0
lea eax, DWORD PTR _vel$8475[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7289
call _rand
mov DWORD PTR -144+[ebp], eax
fild DWORD PTR -144+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4002f000000000000000
fadd DWORD PTR __real@4@40028000000000000000
fsubr DWORD PTR _vel$8475[ebp+4]
fstp DWORD PTR _vel$8475[ebp+4]
; Line 7290
push 0
lea edx, DWORD PTR _vel$8475[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L8477:
; Line 7294
mov DWORD PTR _flags$8474[ebp], 528744448 ; 1f840000H
; Line 7295
push 0
lea ecx, DWORD PTR _flags$8474[ebp]
push ecx
push 16 ; 00000010H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7297
mov DWORD PTR _flags$8474[ebp], 2
; Line 7298
push 0
lea eax, DWORD PTR _flags$8474[ebp]
push eax
push 16 ; 00000010H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7300
mov DWORD PTR _flags$8474[ebp], 570425408 ; 22000040H
; Line 7301
lea edx, DWORD PTR _flags$8474[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7303
mov BYTE PTR _movement_type$8476[ebp], 1
; Line 7304
push 0
lea ecx, DWORD PTR _movement_type$8476[ebp]
push ecx
push 13 ; 0000000dH
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7306
push 6
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 7308
jmp SHORT $L8457
$L8480:
; Line 7310
push OFFSET FLAT:$SG8481
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 8
$L8457:
; Line 7313
movsx ecx, BYTE PTR _mode$[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax], ecx
; Line 7314
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], 0
$L8454:
; Line 7315
mov esp, ebp
pop ebp
ret 8
$L11396:
DD $L8460
DD $L8462
DD $L8470
DD $L8473
DD $L8480
$L11395:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 4
DB 2
DB 4
DB 4
DB 3
?SetMode@Sickle@@AAEXHD@Z ENDP ; Sickle::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Sickle@@AAEXH@Z ; Sickle::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -980
_flags$ = -4
_m$ = -976
_ch$ = -56
_orient$ = -40
?DoInit@Sickle@@AAEXH@Z PROC NEAR ; Sickle::DoInit
; Line 7318
push ebp
mov ebp, esp
sub esp, 980 ; 000003d4H
mov DWORD PTR _this$[ebp], ecx
; Line 7321
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 7324
mov WORD PTR _ch$[ebp+8], 4
; Line 7325
mov DWORD PTR _ch$[ebp+12], 72 ; 00000048H
; Line 7326
mov DWORD PTR _ch$[ebp], 0
; Line 7327
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], ecx
; Line 7329
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 7331
push 5
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 7332
mov DWORD PTR _flags$[ebp], 570425408 ; 22000040H
; Line 7333
lea eax, DWORD PTR _flags$[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7335
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 44 ; 0000002cH
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7336
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 56 ; 00000038H
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7337
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+40], 0
; Line 7338
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+41], 0
; Line 7340
mov DWORD PTR _flags$[ebp], 2
; Line 7341
push 0
lea eax, DWORD PTR _flags$[ebp]
push eax
push 16 ; 00000010H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7343
mov DWORD PTR _flags$[ebp], 262144 ; 00040000H
; Line 7344
push 0
lea edx, DWORD PTR _flags$[ebp]
push edx
push 16 ; 00000010H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7347
push 0
lea ecx, DWORD PTR _orient$[ebp]
push ecx
push 4
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7348
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 60 ; 0000003cH
mov edx, DWORD PTR _orient$[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$[ebp+32]
mov DWORD PTR [ecx+8], edx
; Line 7349
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+64], 0
; Line 7350
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 60 ; 0000003cH
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 7352
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], 0
; Line 7354
push 15 ; 0000000fH
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sickle@@AAEXHD@Z ; Sickle::SetMode
; Line 7355
mov esp, ebp
pop ebp
ret 4
?DoInit@Sickle@@AAEXH@Z ENDP ; Sickle::DoInit
_TEXT ENDS
PUBLIC __real@4@4004dc00000000000000
PUBLIC __real@8@4001e000000000000000
PUBLIC ?DoFrame@Sickle@@AAEXH@Z ; Sickle::DoFrame
; COMDAT __real@4@4004dc00000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4004dc00000000000000 DD 0425c0000r ; 55
CONST ENDS
; COMDAT __real@8@4001e000000000000000
CONST SEGMENT
__real@8@4001e000000000000000 DQ 0401c000000000000r ; 7
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -88
_uvec$ = -56
_anim_frame$ = -40
_new_mode$ = -16
_last_see_time$ = -68
_temp_time$ = -60
?DoFrame@Sickle@@AAEXH@Z PROC NEAR ; Sickle::DoFrame
; File aigame.cpp
; Line 7358
push ebp
mov ebp, esp
sub esp, 88 ; 00000058H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 7373
lea eax, DWORD PTR _temp_time$[ebp]
push eax
push 25 ; 00000019H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7374
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fsub DWORD PTR _temp_time$[ebp]
fstp DWORD PTR _last_see_time$[ebp]
; Line 7376
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR [esi+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+4]
; Line 7378
push 0
lea edx, DWORD PTR _anim_frame$[ebp]
push edx
push 18 ; 00000012H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7380
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx]
mov DWORD PTR _new_mode$[ebp], eax
; Line 7382
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4004c800000000000000
fnstsw ax
test ah, 1
jne SHORT $L8511
fld DWORD PTR _anim_frame$[ebp]
fcomp DWORD PTR __real@4@4004dc00000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8510
$L8511:
fld DWORD PTR _last_see_time$[ebp]
fcomp QWORD PTR __real@8@4001e000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8509
$L8510:
; Line 7384
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx], 15 ; 0000000fH
jne SHORT $L8512
; Line 7386
mov DWORD PTR _new_mode$[ebp], 3
$L8512:
; Line 7389
jmp SHORT $L8513
$L8509:
; Line 7391
mov DWORD PTR _new_mode$[ebp], 15 ; 0000000fH
$L8513:
; Line 7394
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx]
cmp edx, DWORD PTR _new_mode$[ebp]
je SHORT $L8514
; Line 7396
mov al, BYTE PTR _new_mode$[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sickle@@AAEXHD@Z ; Sickle::SetMode
$L8514:
; Line 7399
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax], 3
jne SHORT $L8515
; Line 7403
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx+41]
cmp eax, 1
jne SHORT $L8516
; Line 7405
push 10 ; 0000000aH
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sickle@@AAEXHD@Z ; Sickle::SetMode
$L8516:
; Line 7408
jmp SHORT $L8519
$L8515:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax], 10 ; 0000000aH
jne SHORT $L8519
; Line 7410
mov DWORD PTR _uvec$[ebp], 0
; Line 7411
mov DWORD PTR _uvec$[ebp+4], -1082130432 ; bf800000H
; Line 7412
mov DWORD PTR _uvec$[ebp+8], 0
; Line 7418
lea ecx, DWORD PTR _uvec$[ebp]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 60 ; 0000003cH
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_TurnTowardsVectors@@3P6AEHPAUvector@@0@ZA ; AI_TurnTowardsVectors
add esp, 12 ; 0000000cH
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
neg eax
mov edx, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [edx+4]
mov BYTE PTR [ecx+40], al
; Line 7420
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax+40]
cmp ecx, 1
jne SHORT $L8519
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor ecx, ecx
mov cl, BYTE PTR [eax+41]
cmp ecx, 1
jne SHORT $L8519
; Line 7422
push 12 ; 0000000cH
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sickle@@AAEXHD@Z ; Sickle::SetMode
$L8519:
; Line 7425
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Sickle@@AAEXH@Z ENDP ; Sickle::DoFrame
_TEXT ENDS
PUBLIC ?DoNotify@Sickle@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Sickle::DoNotify
_TEXT SEGMENT
_notify$ = 12
_this$ = -4
?DoNotify@Sickle@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z PROC NEAR ; Sickle::DoNotify
; Line 7428
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 7431
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
add esp, 4
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L8525
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax], 3
je SHORT $L8526
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx], 10 ; 0000000aH
jne SHORT $L8525
$L8526:
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax+8], 2
jne SHORT $L8525
; Line 7434
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+41], 1
$L8525:
; Line 7437
mov al, 1
; Line 7438
mov esp, ebp
pop ebp
ret 8
?DoNotify@Sickle@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ENDP ; Sickle::DoNotify
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Sickle@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Sickle::CallEvent
; Line 7441
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7443
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L8533
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11405[eax]
jmp DWORD PTR $L11406[edx*4]
$L8536:
; Line 7445
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Sickle@@AAEXH@Z ; Sickle::DoInit
; Line 7446
jmp SHORT $L8533
$L8537:
; Line 7448
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Sickle@@AAEXH@Z ; Sickle::DoFrame
; Line 7449
jmp SHORT $L8533
$L8538:
; Line 7451
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Sickle@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Sickle::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8531
$L8540:
; Line 7457
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8533:
; Line 7461
mov ax, 257 ; 00000101H
$L8531:
; Line 7462
mov esp, ebp
pop ebp
ret 8
$L11406:
DD $L8537
DD $L8538
DD $L8536
DD $L8540
DD $L8533
$L11405:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Sickle@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Sickle::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@FireAtDist@@AAEXH@Z ; FireAtDist::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -940
_m$ = -936
_ch$ = -16
?DoInit@FireAtDist@@AAEXH@Z PROC NEAR ; FireAtDist::DoInit
; Line 7469
push ebp
mov ebp, esp
sub esp, 940 ; 000003acH
mov DWORD PTR _this$[ebp], ecx
; Line 7471
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 7474
mov WORD PTR _ch$[ebp+8], 4
; Line 7475
mov DWORD PTR _ch$[ebp+12], 16 ; 00000010H
; Line 7476
mov DWORD PTR _ch$[ebp], 0
; Line 7477
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], ecx
; Line 7479
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 7481
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 7482
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 0
; Line 7483
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR [ecx], edx
; Line 7485
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 4
push ecx
push 7
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7486
mov esp, ebp
pop ebp
ret 4
?DoInit@FireAtDist@@AAEXH@Z ENDP ; FireAtDist::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@FireAtDist@@AAEXH@Z ; FireAtDist::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -856
_pos$8555 = -832
_room$8556 = -820
_scan_objs$8557 = -812
_n_scan$8558 = -12
_i$8559 = -816
_dist$8560 = -8
_type$8564 = -836
_p_pos$8566 = -848
_cur_dist$8567 = -852
_flags$ = -4
?DoFrame@FireAtDist@@AAEXH@Z PROC NEAR ; FireAtDist::DoFrame
; Line 7489
push ebp
mov ebp, esp
sub esp, 860 ; 0000035cH
mov DWORD PTR _this$[ebp], ecx
; Line 7490
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+8]
fadd DWORD PTR __real@4@4000c000000000000000
fstp DWORD PTR -860+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -860+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne $L8563
; Line 7500
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 7502
push 0
lea ecx, DWORD PTR _pos$8555[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7503
push 0
lea edx, DWORD PTR _room$8556[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7505
lea eax, DWORD PTR _dist$8560[ebp]
push eax
push 7
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7507
push 1
push 0
push 1
push 0
push 200 ; 000000c8H
lea ecx, DWORD PTR _scan_objs$8557[ebp]
push ecx
mov edx, DWORD PTR _dist$8560[ebp]
push edx
mov eax, DWORD PTR _room$8556[ebp]
push eax
lea ecx, DWORD PTR _pos$8555[ebp]
push ecx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$8558[ebp], eax
; Line 7509
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+12], 0
; Line 7511
mov DWORD PTR _i$8559[ebp], 0
jmp SHORT $L8561
$L8562:
mov ecx, DWORD PTR _i$8559[ebp]
add ecx, 1
mov DWORD PTR _i$8559[ebp], ecx
$L8561:
mov edx, DWORD PTR _i$8559[ebp]
cmp edx, DWORD PTR _n_scan$8558[ebp]
jge $L8563
; Line 7515
push 0
lea eax, DWORD PTR _type$8564[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _i$8559[ebp]
mov edx, DWORD PTR _scan_objs$8557[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7517
cmp DWORD PTR _type$8564[ebp], 4
jne SHORT $L8568
; Line 7522
push 0
lea eax, DWORD PTR _p_pos$8566[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _i$8559[ebp]
mov edx, DWORD PTR _scan_objs$8557[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7524
lea eax, DWORD PTR _p_pos$8566[ebp]
push eax
lea ecx, DWORD PTR _pos$8555[ebp]
push ecx
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _cur_dist$8567[ebp]
; Line 7526
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _cur_dist$8567[ebp]
fcomp DWORD PTR [eax+4]
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L8568
; Line 7528
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 1
; Line 7529
jmp SHORT $L8563
$L8568:
; Line 7532
jmp $L8562
$L8563:
; Line 7535
mov DWORD PTR _flags$[ebp], 32 ; 00000020H
; Line 7536
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx+12]
test edx, edx
je SHORT $L8570
; Line 7538
lea eax, DWORD PTR _flags$[ebp]
push eax
push 52 ; 00000034H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7540
jmp SHORT $L8571
$L8570:
; Line 7542
lea edx, DWORD PTR _flags$[ebp]
push edx
push 52 ; 00000034H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L8571:
; Line 7544
mov esp, ebp
pop ebp
ret 4
?DoFrame@FireAtDist@@AAEXH@Z ENDP ; FireAtDist::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@FireAtDist@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; FireAtDist::CallEvent
; Line 7547
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7549
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 257 ; 00000101H
je SHORT $L8582
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L8581
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L8584
jmp SHORT $L8578
$L8581:
; Line 7551
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@FireAtDist@@AAEXH@Z ; FireAtDist::DoInit
; Line 7552
jmp SHORT $L8578
$L8582:
; Line 7554
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@FireAtDist@@AAEXH@Z ; FireAtDist::DoFrame
; Line 7555
jmp SHORT $L8578
$L8584:
; Line 7560
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8578:
; Line 7564
mov ax, 257 ; 00000101H
; Line 7565
mov esp, ebp
pop ebp
ret 8
?CallEvent@FireAtDist@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; FireAtDist::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@HatePTMC@@AAEXH@Z ; HatePTMC::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -940
_m$ = -936
_ch$ = -16
?DoInit@HatePTMC@@AAEXH@Z PROC NEAR ; HatePTMC::DoInit
; Line 7572
push ebp
mov ebp, esp
sub esp, 944 ; 000003b0H
mov DWORD PTR _this$[ebp], ecx
; Line 7574
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 7577
mov WORD PTR _ch$[ebp+8], 4
; Line 7578
mov DWORD PTR _ch$[ebp+12], 8
; Line 7579
mov DWORD PTR _ch$[ebp], 0
; Line 7580
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], ecx
; Line 7582
lea edx, DWORD PTR _ch$[ebp]
push edx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 7584
call _rand
mov DWORD PTR -944+[ebp], eax
fild DWORD PTR -944+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+4]
; Line 7585
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR [edx], eax
; Line 7586
mov esp, ebp
pop ebp
ret 4
?DoInit@HatePTMC@@AAEXH@Z ENDP ; HatePTMC::DoInit
_TEXT ENDS
PUBLIC __real@4@4004f000000000000000
PUBLIC ?DoFrame@HatePTMC@@AAEXH@Z ; HatePTMC::DoFrame
; COMDAT __real@4@4004f000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4004f000000000000000 DD 042700000r ; 60
CONST ENDS
_TEXT SEGMENT
$T11412 = -344
$T11413 = -356
_me$ = 8
_this$ = -360
_flags$ = -4
_pos$8605 = -232
_room$8606 = -220
_scan_objs$8607 = -212
_n_scan$8608 = -12
_i$8609 = -216
_dist$8610 = -8
_ctype$8614 = -240
_num_wbs$8615 = -236
_flags$8617 = -244
_target$8618 = -256
_last_see_target_time$8619 = -252
_t_type$8620 = -248
_fov$8624 = -312
_p_pos$8625 = -268
_p_room$8626 = -328
_orient$8627 = -308
_dir$8628 = -324
_dist$8630 = -272
_awareness$8633 = -332
?DoFrame@HatePTMC@@AAEXH@Z PROC NEAR ; HatePTMC::DoFrame
; File aigame.cpp
; Line 7589
push ebp
mov ebp, esp
sub esp, 364 ; 0000016cH
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 7590
mov DWORD PTR _flags$[ebp], 0
; Line 7592
lea eax, DWORD PTR _flags$[ebp]
push eax
push 51 ; 00000033H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7594
mov edx, DWORD PTR _flags$[ebp]
and edx, 196608 ; 00030000H
cmp edx, 65536 ; 00010000H
jne $L8613
; Line 7596
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fsubr DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 7598
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je $L8613
; Line 7600
call _rand
mov DWORD PTR -364+[ebp], eax
fild DWORD PTR -364+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+4]
; Line 7608
mov DWORD PTR _dist$8610[ebp], 1128792064 ; 43480000H
; Line 7610
push 0
lea ecx, DWORD PTR _pos$8605[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7611
push 0
lea edx, DWORD PTR _room$8606[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7613
push 1
push 0
push 1
push 0
push 50 ; 00000032H
lea eax, DWORD PTR _scan_objs$8607[ebp]
push eax
mov ecx, DWORD PTR _dist$8610[ebp]
push ecx
mov edx, DWORD PTR _room$8606[ebp]
push edx
lea eax, DWORD PTR _pos$8605[ebp]
push eax
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$8608[ebp], eax
; Line 7615
mov DWORD PTR _i$8609[ebp], 0
jmp SHORT $L8611
$L8612:
mov ecx, DWORD PTR _i$8609[ebp]
add ecx, 1
mov DWORD PTR _i$8609[ebp], ecx
$L8611:
mov edx, DWORD PTR _i$8609[ebp]
cmp edx, DWORD PTR _n_scan$8608[ebp]
jge $L8613
; Line 7620
push 0
lea eax, DWORD PTR _ctype$8614[ebp]
push eax
push 12 ; 0000000cH
push 1
mov ecx, DWORD PTR _i$8609[ebp]
mov edx, DWORD PTR _scan_objs$8607[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7621
push 0
lea eax, DWORD PTR _num_wbs$8615[ebp]
push eax
push 14 ; 0000000eH
push 1
push 0
mov ecx, DWORD PTR _i$8609[ebp]
mov edx, DWORD PTR _scan_objs$8607[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 7623
cmp DWORD PTR _num_wbs$8615[ebp], 0
jle $L8631
movsx eax, BYTE PTR _ctype$8614[ebp]
cmp eax, 1
jne $L8631
; Line 7628
mov DWORD PTR _t_type$8620[ebp], 255 ; 000000ffH
; Line 7630
lea ecx, DWORD PTR _flags$8617[ebp]
push ecx
push 51 ; 00000033H
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7631
lea ecx, DWORD PTR _target$8618[ebp]
push ecx
push 19 ; 00000013H
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7632
lea ecx, DWORD PTR _last_see_target_time$8619[ebp]
push ecx
push 25 ; 00000019H
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7634
cmp DWORD PTR _target$8618[ebp], -1
je SHORT $L8621
; Line 7636
push 0
lea ecx, DWORD PTR _t_type$8620[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _target$8618[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L8621:
; Line 7640
mov eax, DWORD PTR _flags$8617[ebp]
and eax, 196608 ; 00030000H
test eax, eax
jne $L8631
cmp DWORD PTR _t_type$8620[ebp], 4
jne SHORT $L8623
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fsub DWORD PTR _last_see_target_time$8619[ebp]
fcomp DWORD PTR __real@4@4001e000000000000000
fnstsw ax
test ah, 1
jne $L8631
$L8623:
; Line 7643
lea ecx, DWORD PTR _fov$8624[ebp]
push ecx
push 32 ; 00000020H
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7649
push 0
lea ecx, DWORD PTR _p_pos$8625[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7650
push 0
lea ecx, DWORD PTR _p_room$8626[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _i$8609[ebp]
mov eax, DWORD PTR _scan_objs$8607[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7652
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _pos$8605[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _pos$8605[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _pos$8605[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _p_pos$8625[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _p_pos$8625[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _p_pos$8625[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11413[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11412[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11412[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11412[ebp+8], eax
mov ecx, DWORD PTR $T11412[ebp]
mov DWORD PTR _dir$8628[ebp], ecx
mov edx, DWORD PTR $T11412[ebp+4]
mov DWORD PTR _dir$8628[ebp+4], edx
mov eax, DWORD PTR $T11412[ebp+8]
mov DWORD PTR _dir$8628[ebp+8], eax
; Line 7653
lea ecx, DWORD PTR _dir$8628[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
add esp, 4
fstp DWORD PTR _dist$8630[ebp]
; Line 7655
push 0
lea edx, DWORD PTR _orient$8627[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7657
mov ecx, DWORD PTR _p_room$8626[ebp]
cmp ecx, DWORD PTR _room$8606[ebp]
je SHORT $L8632
fld DWORD PTR _dist$8630[ebp]
fcomp DWORD PTR __real@4@4004f000000000000000
fnstsw ax
test ah, 1
jne SHORT $L8632
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR _dir$8628[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _dir$8628[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _dir$8628[ebp+8]
mov DWORD PTR [edx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$8627[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$8627[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$8627[ebp+32]
mov DWORD PTR [ecx+8], edx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
fcomp DWORD PTR _fov$8624[ebp]
fnstsw ax
test ah, 1
jne $L8631
$L8632:
; Line 7660
lea eax, DWORD PTR _awareness$8633[ebp]
push eax
push 50 ; 00000032H
push 1
mov ecx, DWORD PTR _i$8609[ebp]
mov edx, DWORD PTR _scan_objs$8607[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7661
fld DWORD PTR _awareness$8633[ebp]
fcomp DWORD PTR __real@4@4004f000000000000000
fnstsw ax
test ah, 1
je SHORT $L8634
; Line 7663
mov DWORD PTR _awareness$8633[ebp], 1114636288 ; 42700000H
; Line 7664
lea eax, DWORD PTR _awareness$8633[ebp]
push eax
push 50 ; 00000032H
push 0
mov ecx, DWORD PTR _i$8609[ebp]
mov edx, DWORD PTR _scan_objs$8607[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L8634:
; Line 7666
lea eax, DWORD PTR _me$[ebp]
push eax
push 19 ; 00000013H
push 0
mov ecx, DWORD PTR _i$8609[ebp]
mov edx, DWORD PTR _scan_objs$8607[ebp+ecx*4]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L8631:
; Line 7670
jmp $L8612
$L8613:
; Line 7673
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@HatePTMC@@AAEXH@Z ENDP ; HatePTMC::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@HatePTMC@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; HatePTMC::CallEvent
; Line 7676
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7678
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 256 ; 00000100H
je SHORT $L8645
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L8644
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L8647
jmp SHORT $L8641
$L8644:
; Line 7680
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@HatePTMC@@AAEXH@Z ; HatePTMC::DoInit
; Line 7681
jmp SHORT $L8641
$L8645:
; Line 7683
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@HatePTMC@@AAEXH@Z ; HatePTMC::DoFrame
; Line 7684
jmp SHORT $L8641
$L8647:
; Line 7689
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8641:
; Line 7693
mov ax, 257 ; 00000101H
; Line 7694
mov esp, ebp
pop ebp
ret 8
?CallEvent@HatePTMC@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; HatePTMC::CallEvent
_TEXT ENDS
PUBLIC __real@4@3fff8ccccd0000000000
PUBLIC __real@4@3fffa666660000000000
PUBLIC __real@4@3fffd9999a0000000000
PUBLIC __real@4@3fffe000000000000000
PUBLIC __real@4@4000b333330000000000
PUBLIC __real@4@3fffe666660000000000
PUBLIC ?DoInit@Tubbs@@AAEXH@Z ; Tubbs::DoInit
; COMDAT __real@4@3fff8ccccd0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3fff8ccccd0000000000 DD 03f8ccccdr ; 1.1
CONST ENDS
; COMDAT __real@4@3fffa666660000000000
CONST SEGMENT
__real@4@3fffa666660000000000 DD 03fa66666r ; 1.3
CONST ENDS
; COMDAT __real@4@3fffd9999a0000000000
CONST SEGMENT
__real@4@3fffd9999a0000000000 DD 03fd9999ar ; 1.7
CONST ENDS
; COMDAT __real@4@3fffe000000000000000
CONST SEGMENT
__real@4@3fffe000000000000000 DD 03fe00000r ; 1.75
CONST ENDS
; COMDAT __real@4@4000b333330000000000
CONST SEGMENT
__real@4@4000b333330000000000 DD 040333333r ; 2.8
CONST ENDS
; COMDAT __real@4@3fffe666660000000000
CONST SEGMENT
__real@4@3fffe666660000000000 DD 03fe66666r ; 1.8
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -24
_ch$ = -20
_diff$ = -4
?DoInit@Tubbs@@AAEXH@Z PROC NEAR ; Tubbs::DoInit
; File aigame.cpp
; Line 7701
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 7703
mov WORD PTR _ch$[ebp+8], 4
; Line 7704
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 7705
mov DWORD PTR _ch$[ebp], 0
; Line 7706
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 7708
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 7710
call DWORD PTR ?Game_GetDiffLevel@@3P6ADXZA ; Game_GetDiffLevel
movsx eax, al
mov DWORD PTR _diff$[ebp], eax
; Line 7712
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7713
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 4
push edx
push 1
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7716
mov ecx, DWORD PTR _diff$[ebp]
mov DWORD PTR -28+[ebp], ecx
cmp DWORD PTR -28+[ebp], 4
ja $L8658
mov edx, DWORD PTR -28+[ebp]
jmp DWORD PTR $L11430[edx*4]
$L8661:
; Line 7718
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx]
fmul DWORD PTR __real@4@3fff99999a0000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 7719
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+4]
fmul DWORD PTR __real@4@3fff8ccccd0000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+12]
; Line 7720
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+16], 1102053376 ; 41b00000H
; Line 7721
jmp $L8658
$L8662:
; Line 7723
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx]
fmul DWORD PTR __real@4@3fffa666660000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 7724
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fmul DWORD PTR __real@4@3fffc000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+12]
; Line 7725
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+16], 1101004800 ; 41a00000H
; Line 7726
jmp $L8658
$L8663:
; Line 7728
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax]
fmul DWORD PTR __real@4@3fffd9999a0000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 7729
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fmul DWORD PTR __real@4@4000a000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+12]
; Line 7730
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+16], 1099956224 ; 41900000H
; Line 7731
jmp SHORT $L8658
$L8664:
; Line 7733
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx]
fmul DWORD PTR __real@4@3fffe000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 7734
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+4]
fmul DWORD PTR __real@4@4000b333330000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+12]
; Line 7735
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+16], 1097859072 ; 41700000H
; Line 7736
jmp SHORT $L8658
$L8665:
; Line 7738
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx]
fmul DWORD PTR __real@4@3fffe666660000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 7739
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fmul DWORD PTR __real@4@4000c000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+12]
; Line 7740
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+16], 1094713344 ; 41400000H
$L8658:
; Line 7743
mov esp, ebp
pop ebp
ret 4
$L11430:
DD $L8661
DD $L8662
DD $L8663
DD $L8664
DD $L8665
?DoInit@Tubbs@@AAEXH@Z ENDP ; Tubbs::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@Tubbs@@AAEXH@Z ; Tubbs::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -24
_see_time$ = -8
_used$ = -4
_speed$8673 = -12
_acc$8674 = -20
_ft$8675 = -16
?DoFrame@Tubbs@@AAEXH@Z PROC NEAR ; Tubbs::DoFrame
; Line 7746
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 7748
lea eax, DWORD PTR _see_time$[ebp]
push eax
push 25 ; 00000019H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7751
push 0
lea edx, DWORD PTR _used$[ebp]
push edx
push 50 ; 00000032H
push 1
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 7753
fld DWORD PTR _see_time$[ebp]
fadd DWORD PTR __real@4@40018000000000000000
fstp DWORD PTR -28+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -28+[ebp]
fnstsw ax
test ah, 1
je $L8672
mov ecx, DWORD PTR _used$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne $L8672
; Line 7759
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fstp DWORD PTR _ft$8675[ebp]
; Line 7761
lea edx, DWORD PTR _speed$8673[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7762
lea ecx, DWORD PTR _acc$8674[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7764
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+8]
fsub DWORD PTR [eax]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR _ft$8675[ebp]
fdiv DWORD PTR [edx+16]
fmulp ST(1), ST(0)
fadd DWORD PTR _speed$8673[ebp]
fstp DWORD PTR _speed$8673[ebp]
; Line 7765
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+12]
fsub DWORD PTR [eax+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR _ft$8675[ebp]
fdiv DWORD PTR [edx+16]
fmulp ST(1), ST(0)
fadd DWORD PTR _acc$8674[ebp]
fstp DWORD PTR _acc$8674[ebp]
; Line 7767
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR _speed$8673[ebp]
fcomp DWORD PTR [ecx+8]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8676
; Line 7768
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+8]
mov DWORD PTR _speed$8673[ebp], ecx
$L8676:
; Line 7769
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _acc$8674[ebp]
fcomp DWORD PTR [eax+12]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8677
; Line 7770
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+12]
mov DWORD PTR _acc$8674[ebp], eax
$L8677:
; Line 7774
lea ecx, DWORD PTR _speed$8673[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7775
lea eax, DWORD PTR _acc$8674[ebp]
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7777
jmp SHORT $L8678
$L8672:
; Line 7779
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 7780
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 4
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L8678:
; Line 7782
mov esp, ebp
pop ebp
ret 4
?DoFrame@Tubbs@@AAEXH@Z ENDP ; Tubbs::DoFrame
_TEXT ENDS
PUBLIC ?DoNotify@Tubbs@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Tubbs::DoNotify
_DATA SEGMENT
ORG $+2
$SG8689 DB 'TubbsHitBlast', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_notify$ = 12
_this$ = -24
_room$ = -8
_pos$ = -20
_weapon_id$ = -4
?DoNotify@Tubbs@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z PROC NEAR ; Tubbs::DoNotify
; Line 7785
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
mov DWORD PTR _this$[ebp], ecx
; Line 7790
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax], 24 ; 00000018H
jne SHORT $L8688
; Line 7792
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx+16], 0
jne SHORT $L8688
; Line 7794
push 0
lea edx, DWORD PTR _room$[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7795
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
add esp, 16 ; 00000010H
; Line 7797
push OFFSET FLAT:$SG8689
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$[ebp], eax
; Line 7798
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
mov edx, DWORD PTR _room$[ebp]
push edx
mov ax, WORD PTR _weapon_id$[ebp]
push eax
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
$L8688:
; Line 7802
mov al, 1
; Line 7803
mov esp, ebp
pop ebp
ret 8
?DoNotify@Tubbs@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ENDP ; Tubbs::DoNotify
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Tubbs@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Tubbs::CallEvent
; Line 7806
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7808
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L8696
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11434[eax]
jmp DWORD PTR $L11435[edx*4]
$L8699:
; Line 7810
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Tubbs@@AAEXH@Z ; Tubbs::DoInit
; Line 7811
jmp SHORT $L8696
$L8700:
; Line 7813
mov eax, DWORD PTR _data$[ebp]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Tubbs@@AAE_NHPAUtOSIRISEVTAINOTIFY@@@Z ; Tubbs::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8694
$L8701:
; Line 7816
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Tubbs@@AAEXH@Z ; Tubbs::DoFrame
; Line 7817
jmp SHORT $L8696
$L8703:
; Line 7822
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8696:
; Line 7826
mov ax, 257 ; 00000101H
$L8694:
; Line 7827
mov esp, ebp
pop ebp
ret 8
$L11435:
DD $L8701
DD $L8700
DD $L8699
DD $L8703
DD $L8696
$L11434:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Tubbs@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Tubbs::CallEvent
_TEXT ENDS
PUBLIC __real@4@3ffd99999a0000000000
PUBLIC ?ComputeNextNestPnt@BarnSwallow@@AAEXHPAUvector@@@Z ; BarnSwallow::ComputeNextNestPnt
; COMDAT __real@4@3ffd99999a0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffd99999a0000000000 DD 03e99999ar ; 0.3
CONST ENDS
_TEXT SEGMENT
$T11437 = -12
$T11438 = -24
$T11439 = -36
$T11440 = -48
_pos$ = 12
_this$ = -52
?ComputeNextNestPnt@BarnSwallow@@AAEXHPAUvector@@@Z PROC NEAR ; BarnSwallow::ComputeNextNestPnt
; File aigame.cpp
; Line 7834
push ebp
mov ebp, esp
sub esp, 64 ; 00000040H
mov DWORD PTR _this$[ebp], ecx
; Line 7835
call _rand
mov DWORD PTR -56+[ebp], eax
fild DWORD PTR -56+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsubr DWORD PTR __real@4@3ffe8000000000000000
mov eax, DWORD PTR _pos$[ebp]
fstp DWORD PTR [eax]
; Line 7836
call _rand
mov DWORD PTR -60+[ebp], eax
fild DWORD PTR -60+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsubr DWORD PTR __real@4@3ffe8000000000000000
mov ecx, DWORD PTR _pos$[ebp]
fstp DWORD PTR [ecx+4]
; Line 7837
call _rand
mov DWORD PTR -64+[ebp], eax
fild DWORD PTR -64+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsubr DWORD PTR __real@4@3ffe8000000000000000
mov edx, DWORD PTR _pos$[ebp]
fstp DWORD PTR [edx+8]
; Line 7839
mov eax, DWORD PTR _pos$[ebp]
fld DWORD PTR [eax+4]
fmul DWORD PTR __real@4@3ffd99999a0000000000
mov ecx, DWORD PTR _pos$[ebp]
fstp DWORD PTR [ecx+4]
; Line 7841
mov edx, DWORD PTR _pos$[ebp]
push edx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 7843
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+16]
push edx
sub esp, 12 ; 0000000cH
mov eax, DWORD PTR _pos$[ebp]
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
lea ecx, DWORD PTR $T11438[ebp]
push ecx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11437[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11437[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11437[ebp+8], edx
mov eax, DWORD PTR _pos$[ebp]
mov ecx, DWORD PTR $T11437[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11437[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11437[ebp+8]
mov DWORD PTR [eax+8], ecx
; Line 7844
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 4
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
mov ecx, DWORD PTR _pos$[ebp]
push ecx
lea edx, DWORD PTR $T11440[ebp]
push edx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11439[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11439[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11439[ebp+8], eax
; Line 7845
mov esp, ebp
pop ebp
ret 8
?ComputeNextNestPnt@BarnSwallow@@AAEXHPAUvector@@@Z ENDP ; BarnSwallow::ComputeNextNestPnt
_TEXT ENDS
PUBLIC ?ReceiveCommand@BarnSwallow@@AAE_NHHPAUgb_com@@@Z ; BarnSwallow::ReceiveCommand
PUBLIC ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_command$ = 16
_this$ = -20
_f_ok$ = -4
_flags$8733 = -8
_room$8734 = -12
_me_room$8735 = -16
?ReceiveCommand@BarnSwallow@@AAE_NHHPAUgb_com@@@Z PROC NEAR ; BarnSwallow::ReceiveCommand
; Line 7854
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
mov DWORD PTR _this$[ebp], ecx
; Line 7855
mov BYTE PTR _f_ok$[ebp], 1
; Line 7858
mov eax, DWORD PTR _command$[ebp]
movsx ecx, BYTE PTR [eax]
mov DWORD PTR -24+[ebp], ecx
cmp DWORD PTR -24+[ebp], 5
ja $L8726
mov edx, DWORD PTR -24+[ebp]
jmp DWORD PTR $L11444[edx*4]
$L8729:
; Line 7860
mov eax, DWORD PTR _it$[ebp]
push eax
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7861
jmp $L8726
$L8730:
; Line 7863
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], -1
; Line 7864
jmp $L8726
$L8731:
; Line 7867
push -1
push 6
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7869
jmp $L8726
$L8732:
; Line 7876
push 0
lea edx, DWORD PTR _flags$8733[ebp]
push edx
push 10 ; 0000000aH
push 1
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7877
push 0
lea ecx, DWORD PTR _room$8734[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _it$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7878
push 0
lea eax, DWORD PTR _me_room$8735[ebp]
push eax
push 10 ; 0000000aH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 7880
mov edx, DWORD PTR _flags$8733[ebp]
and edx, 16 ; 00000010H
test edx, edx
je SHORT $L8736
call _rand
cdq
mov ecx, 10 ; 0000000aH
idiv ecx
cmp edx, 3
jle SHORT $L8736
; Line 7882
mov edx, DWORD PTR _it$[ebp]
push edx
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7884
jmp SHORT $L8741
$L8736:
mov ecx, DWORD PTR _me_room$8735[ebp]
cmp ecx, DWORD PTR _room$8734[ebp]
jne SHORT $L8738
; Line 7886
mov edx, DWORD PTR _it$[ebp]
push edx
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7888
jmp SHORT $L8741
$L8738:
call _rand
cdq
mov ecx, 10 ; 0000000aH
idiv ecx
cmp edx, 6
jle SHORT $L8740
; Line 7890
mov edx, DWORD PTR _it$[ebp]
push edx
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7892
jmp SHORT $L8741
$L8740:
; Line 7894
mov BYTE PTR _f_ok$[ebp], 0
$L8741:
; Line 7897
jmp SHORT $L8726
$L8742:
; Line 7900
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+112]
mov ecx, DWORD PTR _command$[ebp]
movsx edx, BYTE PTR [ecx+1]
xor ecx, ecx
cmp eax, edx
sete cl
mov BYTE PTR _f_ok$[ebp], cl
; Line 7902
jmp SHORT $L8726
$L8743:
; Line 7905
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _command$[ebp]
movsx edx, BYTE PTR [ecx+1]
xor ecx, ecx
cmp DWORD PTR [eax+136], edx
sete cl
mov BYTE PTR _f_ok$[ebp], cl
$L8726:
; Line 7909
mov al, BYTE PTR _f_ok$[ebp]
; Line 7910
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
$L11444:
DD $L8729
DD $L8730
DD $L8731
DD $L8732
DD $L8742
DD $L8743
?ReceiveCommand@BarnSwallow@@AAE_NHHPAUgb_com@@@Z ENDP ; BarnSwallow::ReceiveCommand
_TEXT ENDS
PUBLIC ?SendCommand@BarnSwallow@@AAE_NHHDH@Z ; BarnSwallow::SendCommand
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_action$ = 16
_value$ = 20
_this$ = -44
_f_ok$ = -40
_data$ = -28
_command$ = -36
?SendCommand@BarnSwallow@@AAE_NHHDH@Z PROC NEAR ; BarnSwallow::SendCommand
; Line 7913
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov DWORD PTR _this$[ebp], ecx
; Line 7918
mov eax, DWORD PTR _it$[ebp]
mov DWORD PTR _data$[ebp+20], eax
; Line 7919
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _data$[ebp+4], ecx
; Line 7921
mov dl, BYTE PTR _action$[ebp]
mov BYTE PTR _command$[ebp], dl
; Line 7922
mov al, BYTE PTR _value$[ebp]
mov BYTE PTR _command$[ebp+1], al
; Line 7924
lea ecx, DWORD PTR _command$[ebp]
mov DWORD PTR _data$[ebp+24], ecx
; Line 7925
mov DWORD PTR _data$[ebp], 16 ; 00000010H
; Line 7927
lea edx, DWORD PTR _data$[ebp]
push edx
push 272 ; 00000110H
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
mov BYTE PTR _f_ok$[ebp], al
; Line 7928
mov ecx, DWORD PTR _f_ok$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
jne SHORT $L8756
movsx edx, BYTE PTR _command$[ebp]
cmp edx, 2
jne SHORT $L8758
$L8756:
; Line 7931
mov al, BYTE PTR _command$[ebp]
mov BYTE PTR -48+[ebp], al
cmp BYTE PTR -48+[ebp], 0
je SHORT $L8761
cmp BYTE PTR -48+[ebp], 1
je SHORT $L8762
cmp BYTE PTR -48+[ebp], 2
je SHORT $L8763
jmp SHORT $L8758
$L8761:
; Line 7933
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _it$[ebp]
mov DWORD PTR [edx+20], eax
; Line 7934
jmp SHORT $L8758
$L8762:
; Line 7936
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], -1
; Line 7937
jmp SHORT $L8758
$L8763:
; Line 7939
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+20], -1
$L8758:
; Line 7943
mov al, BYTE PTR _f_ok$[ebp]
; Line 7944
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?SendCommand@BarnSwallow@@AAE_NHHDH@Z ENDP ; BarnSwallow::SendCommand
_TEXT ENDS
PUBLIC ?DoInit@BarnSwallow@@AAEXH@Z ; BarnSwallow::DoInit
PUBLIC ?ComputeNest@BarnSwallow@@AAEXH@Z ; BarnSwallow::ComputeNest
_TEXT SEGMENT
_me$ = 8
_this$ = -24
_ch$ = -20
?DoInit@BarnSwallow@@AAEXH@Z PROC NEAR ; BarnSwallow::DoInit
; Line 7947
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 7950
mov WORD PTR _ch$[ebp+8], 4
; Line 7951
mov DWORD PTR _ch$[ebp+12], 144 ; 00000090H
; Line 7952
mov DWORD PTR _ch$[ebp], 0
; Line 7953
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 7955
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 7957
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+20], -1
; Line 7959
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?ComputeNest@BarnSwallow@@AAEXH@Z ; BarnSwallow::ComputeNest
; Line 7961
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -28+[ebp]
call _rand
mov DWORD PTR -32+[ebp], eax
fild DWORD PTR -32+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -28+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+108]
; Line 7962
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+124]
; Line 7963
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -36+[ebp]
call _rand
mov DWORD PTR -40+[ebp], eax
fild DWORD PTR -40+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd ST(0), ST(0)
fadd DWORD PTR -36+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+128]
; Line 7965
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+112], 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+113], 0
; Line 7966
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+116], 0
; Line 7968
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+140], 0
; Line 7970
push -1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7971
mov esp, ebp
pop ebp
ret 4
?DoInit@BarnSwallow@@AAEXH@Z ENDP ; BarnSwallow::DoInit
_TEXT ENDS
PUBLIC ?DoNotify@BarnSwallow@@AAE_NHPAUtOSIRISEventInfo@@@Z ; BarnSwallow::DoNotify
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -4
?DoNotify@BarnSwallow@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; BarnSwallow::DoNotify
; Line 7974
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 7975
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
add esp, 4
and eax, 255 ; 000000ffH
test eax, eax
je $L8781
; Line 7978
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+112]
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 6
ja $L8783
mov edx, DWORD PTR -8+[ebp]
jmp DWORD PTR $L11448[edx*4]
$L8786:
; Line 7981
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax+8], 1
jne SHORT $L8787
; Line 7983
push -1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7984
xor al, al
jmp $L8780
$L8787:
; Line 7987
jmp SHORT $L8783
$L8788:
; Line 7990
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx+8], 1
jne SHORT $L8789
; Line 7992
push -1
push 6
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 7993
xor al, al
jmp SHORT $L8780
$L8789:
; Line 7996
jmp SHORT $L8783
$L8790:
; Line 7999
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx+8], 1
jne SHORT $L8791
; Line 8001
push -1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 8002
xor al, al
jmp SHORT $L8780
$L8791:
; Line 8005
jmp SHORT $L8783
$L8792:
; Line 8007
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax+8], 1
jne SHORT $L8793
; Line 8009
push -1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 8010
xor al, al
jmp SHORT $L8780
$L8793:
$L8783:
; Line 8015
jmp SHORT $L8795
$L8781:
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx], 16 ; 00000010H
jne SHORT $L8795
; Line 8017
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+24]
push ecx
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?ReceiveCommand@BarnSwallow@@AAE_NHHPAUgb_com@@@Z ; BarnSwallow::ReceiveCommand
jmp SHORT $L8780
$L8795:
; Line 8020
mov al, 1
$L8780:
; Line 8021
mov esp, ebp
pop ebp
ret 8
$L11448:
DD $L8786
DD $L8783
DD $L8788
DD $L8792
DD $L8783
DD $L8783
DD $L8790
?DoNotify@BarnSwallow@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; BarnSwallow::DoNotify
_TEXT ENDS
PUBLIC __real@4@3ffee666660000000000
; COMDAT __real@4@3ffee666660000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffee666660000000000 DD 03f666666r ; 0.9
CONST ENDS
_TEXT SEGMENT
$T11450 = -480
$T11451 = -492
$T11452 = -504
$T11453 = -516
_me$ = 8
_this$ = -520
_scan_objs$ = -408
_n_scan$ = -8
_i$ = -412
_pos$ = -432
_room$ = -416
_type$ = -4
_id$ = -420
_c_type$8815 = -440
_c_id$8816 = -436
_c_pos$8818 = -452
_c_pos$8825 = -468
_dist$8826 = -456
?ComputeNest@BarnSwallow@@AAEXH@Z PROC NEAR ; BarnSwallow::ComputeNest
; File aigame.cpp
; Line 8024
push ebp
mov ebp, esp
sub esp, 524 ; 0000020cH
mov DWORD PTR _this$[ebp], ecx
; Line 8025
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+24], 0
; Line 8034
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+24], 0
; Line 8036
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8808
$L8809:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L8808:
cmp DWORD PTR _i$[ebp], 20 ; 00000014H
jge SHORT $L8810
; Line 8037
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov DWORD PTR [eax+ecx*4+28], -1
jmp SHORT $L8809
$L8810:
; Line 8039
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8040
push 0
lea ecx, DWORD PTR _room$[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8041
push 0
lea eax, DWORD PTR _type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8042
push 0
lea edx, DWORD PTR _id$[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8044
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _room$[ebp]
mov DWORD PTR [edx], eax
; Line 8045
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 4
mov eax, DWORD PTR _pos$[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _pos$[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _pos$[ebp+8]
mov DWORD PTR [edx+8], eax
; Line 8046
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+16], 0
; Line 8048
push 1
push 0
push 1
push 0
push 100 ; 00000064H
lea eax, DWORD PTR _scan_objs$[ebp]
push eax
push 1148846080 ; 447a0000H
mov ecx, DWORD PTR _room$[ebp]
push ecx
lea edx, DWORD PTR _pos$[ebp]
push edx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$[ebp], eax
; Line 8050
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8811
$L8812:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L8811:
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR _n_scan$[ebp]
jge $L8813
; Line 8052
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
cmp eax, DWORD PTR _me$[ebp]
je $L8817
; Line 8056
push 0
lea ecx, DWORD PTR _c_type$8815[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8057
push 0
lea ecx, DWORD PTR _c_id$8816[ebp]
push ecx
push 2
push 1
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8060
mov ecx, DWORD PTR _type$[ebp]
cmp ecx, DWORD PTR _c_type$8815[ebp]
jne $L8817
mov edx, DWORD PTR _id$[ebp]
and edx, 65535 ; 0000ffffH
mov eax, DWORD PTR _c_id$8816[ebp]
and eax, 65535 ; 0000ffffH
cmp edx, eax
jne $L8817
; Line 8063
push 0
lea ecx, DWORD PTR _c_pos$8818[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8065
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _c_pos$8818[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _c_pos$8818[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _c_pos$8818[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 4
push ecx
lea edx, DWORD PTR $T11451[ebp]
push edx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11450[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11450[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11450[ebp+8], eax
; Line 8067
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx eax, BYTE PTR [ecx+24]
mov ecx, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _scan_objs$[ebp+ecx*4]
mov DWORD PTR [edx+eax*4+28], ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR [eax+24]
add cl, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+24], cl
$L8817:
; Line 8070
jmp $L8812
$L8813:
; Line 8072
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+24]
test eax, eax
je SHORT $L8820
; Line 8073
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+24]
add eax, 1
mov DWORD PTR -524+[ebp], eax
fild DWORD PTR -524+[ebp]
push ecx
fstp DWORD PTR [esp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 4
push edx
lea eax, DWORD PTR $T11453[ebp]
push eax
call ??_0@YA?AUvector@@AAU0@M@Z ; operator/=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11452[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11452[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11452[ebp+8], eax
$L8820:
; Line 8076
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8822
$L8823:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L8822:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+24]
cmp DWORD PTR _i$[ebp], ecx
jge $L8824
; Line 8080
push 0
lea edx, DWORD PTR _c_pos$8825[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR [ecx+edx*4+28]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8081
lea ecx, DWORD PTR _c_pos$8825[ebp]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 4
push eax
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dist$8826[ebp]
; Line 8083
fld DWORD PTR _dist$8826[ebp]
fmul DWORD PTR __real@4@3ffee666660000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fcomp DWORD PTR [edx+16]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8827
; Line 8084
fld DWORD PTR _dist$8826[ebp]
fmul DWORD PTR __real@4@3ffee666660000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
$L8827:
; Line 8085
jmp $L8823
$L8824:
; Line 8087
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+16]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 1
je SHORT $L8828
; Line 8088
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+16], 1084227584 ; 40a00000H
$L8828:
; Line 8089
mov esp, ebp
pop ebp
ret 4
?ComputeNest@BarnSwallow@@AAEXH@Z ENDP ; BarnSwallow::ComputeNest
_TEXT ENDS
PUBLIC ?UpdateFriendList@BarnSwallow@@AAEXH@Z ; BarnSwallow::UpdateFriendList
_TEXT SEGMENT
_this$ = -16
_i$ = -4
_j$ = -8
_type$8838 = -12
?UpdateFriendList@BarnSwallow@@AAEXH@Z PROC NEAR ; BarnSwallow::UpdateFriendList
; Line 8092
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 8096
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8835
$L8836:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L8835:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+24]
cmp DWORD PTR _i$[ebp], eax
jge $L8837
; Line 8099
push 0
lea ecx, DWORD PTR _type$8838[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR [eax+ecx*4+28]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8101
cmp DWORD PTR _type$8838[ebp], 255 ; 000000ffH
jne SHORT $L8839
; Line 8103
mov eax, DWORD PTR _i$[ebp]
mov DWORD PTR _j$[ebp], eax
jmp SHORT $L8840
$L8841:
mov ecx, DWORD PTR _j$[ebp]
add ecx, 1
mov DWORD PTR _j$[ebp], ecx
$L8840:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+24]
sub ecx, 1
cmp DWORD PTR _j$[ebp], ecx
jge SHORT $L8842
; Line 8105
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _j$[ebp]
mov esi, DWORD PTR _j$[ebp]
mov eax, DWORD PTR [eax+esi*4+32]
mov DWORD PTR [edx+ecx*4+28], eax
; Line 8106
jmp SHORT $L8841
$L8842:
; Line 8108
mov ecx, DWORD PTR _i$[ebp]
sub ecx, 1
mov DWORD PTR _i$[ebp], ecx
; Line 8109
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR [eax+24]
sub cl, 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+24], cl
$L8839:
; Line 8111
jmp $L8836
$L8837:
; Line 8112
pop esi
mov esp, ebp
pop ebp
ret 4
?UpdateFriendList@BarnSwallow@@AAEXH@Z ENDP ; BarnSwallow::UpdateFriendList
_TEXT ENDS
PUBLIC ?DoFrame@BarnSwallow@@AAEXH@Z ; BarnSwallow::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -480
_target$8856 = -12
_room$8857 = -4
_me_room$8858 = -8
_rand_val$8863 = -16
_scan_objs$8867 = -424
_n_scan$8868 = -224
_i$8869 = -428
_n_powerups$8870 = -20
_powerups$8871 = -220
_room$8872 = -432
_pos$8873 = -444
_type$8877 = -448
_index$8880 = -452
_i$8882 = -460
_f_ok$8883 = -464
_p_handle$8884 = -456
_last_see_target_time$8894 = -472
_dist$8896 = -468
_last_see_target_time$8898 = -476
?DoFrame@BarnSwallow@@AAEXH@Z PROC NEAR ; BarnSwallow::DoFrame
; Line 8115
push ebp
mov ebp, esp
sub esp, 500 ; 000001f4H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 8116
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+108]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8847
; Line 8118
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -484+[ebp]
call _rand
mov DWORD PTR -488+[ebp], eax
fild DWORD PTR -488+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -484+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+108]
; Line 8120
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?UpdateFriendList@BarnSwallow@@AAEXH@Z ; BarnSwallow::UpdateFriendList
$L8847:
; Line 8124
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+112]
mov DWORD PTR -492+[ebp], eax
cmp DWORD PTR -492+[ebp], 4
ja $L8851
mov ecx, DWORD PTR -492+[ebp]
jmp DWORD PTR $L11458[ecx*4]
$L8854:
; Line 8127
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fcomp DWORD PTR [eax+120]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8861
; Line 8133
lea ecx, DWORD PTR _target$8856[ebp]
push ecx
push 19 ; 00000013H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8135
cmp DWORD PTR _target$8856[ebp], -1
je SHORT $L8859
; Line 8137
push 0
lea eax, DWORD PTR _room$8857[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _target$8856[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8138
push 0
lea edx, DWORD PTR _me_room$8858[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L8859:
; Line 8141
cmp DWORD PTR _target$8856[ebp], -1
je SHORT $L8860
mov ecx, DWORD PTR _room$8857[ebp]
cmp ecx, DWORD PTR _me_room$8858[ebp]
jne SHORT $L8860
; Line 8142
push -1
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
; Line 8143
jmp SHORT $L8861
$L8860:
; Line 8144
push -1
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8861:
; Line 8147
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fcomp DWORD PTR [edx+128]
fnstsw ax
test ah, 65 ; 00000041H
jne $L8889
; Line 8149
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
mov DWORD PTR _rand_val$8863[ebp], edx
; Line 8151
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -496+[ebp]
call _rand
mov DWORD PTR -500+[ebp], eax
fild DWORD PTR -500+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd ST(0), ST(0)
fadd DWORD PTR -496+[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+128]
; Line 8154
cmp DWORD PTR _rand_val$8863[ebp], 20 ; 00000014H
jge $L8879
; Line 8159
mov DWORD PTR _n_powerups$8870[ebp], 0
; Line 8164
push 0
lea ecx, DWORD PTR _pos$8873[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8165
push 0
lea eax, DWORD PTR _room$8872[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8167
push 1
push 0
push 0
push 0
push 50 ; 00000032H
lea edx, DWORD PTR _scan_objs$8867[ebp]
push edx
push 1106247680 ; 41f00000H
mov eax, DWORD PTR _room$8872[ebp]
push eax
lea ecx, DWORD PTR _pos$8873[ebp]
push ecx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$8868[ebp], eax
; Line 8169
mov DWORD PTR _i$8869[ebp], 0
jmp SHORT $L8874
$L8875:
mov edx, DWORD PTR _i$8869[ebp]
add edx, 1
mov DWORD PTR _i$8869[ebp], edx
$L8874:
mov eax, DWORD PTR _i$8869[ebp]
cmp eax, DWORD PTR _n_scan$8868[ebp]
jge SHORT $L8876
; Line 8172
push 0
lea ecx, DWORD PTR _type$8877[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _i$8869[ebp]
mov eax, DWORD PTR _scan_objs$8867[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8173
cmp DWORD PTR _type$8877[ebp], 7
jne SHORT $L8878
; Line 8175
mov ecx, DWORD PTR _n_powerups$8870[ebp]
mov edx, DWORD PTR _i$8869[ebp]
mov eax, DWORD PTR _scan_objs$8867[ebp+edx*4]
mov DWORD PTR _powerups$8871[ebp+ecx*4], eax
mov ecx, DWORD PTR _n_powerups$8870[ebp]
add ecx, 1
mov DWORD PTR _n_powerups$8870[ebp], ecx
$L8878:
; Line 8177
jmp SHORT $L8875
$L8876:
; Line 8179
cmp DWORD PTR _n_powerups$8870[ebp], 0
je SHORT $L8879
; Line 8181
call _rand
cdq
idiv DWORD PTR _n_powerups$8870[ebp]
mov DWORD PTR _index$8880[ebp], edx
; Line 8182
mov edx, DWORD PTR _index$8880[ebp]
mov eax, DWORD PTR _powerups$8871[ebp+edx*4]
push eax
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8879:
; Line 8185
cmp DWORD PTR _rand_val$8863[ebp], 95 ; 0000005fH
jle $L8889
; Line 8188
mov BYTE PTR _f_ok$8883[ebp], 1
; Line 8195
push -1
push 1
push -1
push 7
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_FindObjOfType@@3P6AHHHH_NH@ZA ; AI_FindObjOfType
add esp, 20 ; 00000014H
mov DWORD PTR _p_handle$8884[ebp], eax
; Line 8197
mov DWORD PTR _i$8882[ebp], 0
jmp SHORT $L8885
$L8886:
mov eax, DWORD PTR _i$8882[ebp]
add eax, 1
mov DWORD PTR _i$8882[ebp], eax
$L8885:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+24]
cmp DWORD PTR _i$8882[ebp], eax
jge SHORT $L8887
; Line 8199
mov ecx, DWORD PTR _p_handle$8884[ebp]
push ecx
push 5
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$8882[ebp]
mov edx, DWORD PTR [eax+ecx*4+28]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@BarnSwallow@@AAE_NHHDH@Z ; BarnSwallow::SendCommand
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L8888
; Line 8201
mov DWORD PTR _p_handle$8884[ebp], -1
; Line 8202
jmp SHORT $L8887
$L8888:
; Line 8204
jmp SHORT $L8886
$L8887:
; Line 8206
cmp DWORD PTR _p_handle$8884[ebp], -1
je SHORT $L8889
; Line 8208
mov ecx, DWORD PTR _p_handle$8884[ebp]
push ecx
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8889:
; Line 8213
jmp $L8851
$L8891:
; Line 8220
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+116]
fcomp DWORD PTR [eax+132]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8892
; Line 8222
push -1
push 6
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8892:
; Line 8225
jmp $L8851
$L8893:
; Line 8229
lea edx, DWORD PTR _last_see_target_time$8894[ebp]
push edx
push 25 ; 00000019H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8231
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$8894[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L8895
; Line 8232
push -1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx+113]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8895:
; Line 8234
push 0
lea edx, DWORD PTR _dist$8896[ebp]
push edx
push 30 ; 0000001eH
push 1
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 8236
jmp SHORT $L8851
$L8897:
; Line 8240
lea ecx, DWORD PTR _last_see_target_time$8898[ebp]
push ecx
push 25 ; 00000019H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8242
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$8898[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L8899
; Line 8243
push -1
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+113]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8899:
; Line 8245
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+116]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L8900
; Line 8246
push -1
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@BarnSwallow@@AAE_NHDH@Z ; BarnSwallow::SetMode
$L8900:
$L8851:
; Line 8260
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+116]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+116]
; Line 8261
pop esi
mov esp, ebp
pop ebp
ret 4
$L11458:
DD $L8854
DD $L8851
DD $L8891
DD $L8893
DD $L8897
?DoFrame@BarnSwallow@@AAEXH@Z ENDP ; BarnSwallow::DoFrame
_TEXT ENDS
PUBLIC __real@4@4004a000000000000000
; COMDAT __real@4@4004a000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4004a000000000000000 DD 042200000r ; 40
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_it$ = 16
_this$ = -68
_f_attack_flags$ = -4
_max_speed$8924 = -8
_pos$8925 = -28
_update_time$8926 = -12
_dist$8932 = -32
_dist$8936 = -40
_g_index$8941 = -36
_pos$8943 = -64
_room$8944 = -52
_dist$8945 = -48
_g_index$8946 = -44
?SetMode@BarnSwallow@@AAE_NHDH@Z PROC NEAR ; BarnSwallow::SetMode
; File aigame.cpp
; Line 8264
push ebp
mov ebp, esp
sub esp, 112 ; 00000070H
mov DWORD PTR _this$[ebp], ecx
; Line 8267
mov DWORD PTR _f_attack_flags$[ebp], 33554688 ; 02000100H
; Line 8269
lea eax, DWORD PTR _f_attack_flags$[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8271
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+112]
cmp ecx, 3
je SHORT $L8910
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+112]
cmp ecx, 4
je SHORT $L8910
; Line 8273
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [eax+112]
mov BYTE PTR [edx+113], al
; Line 8275
movsx ecx, BYTE PTR _mode$[ebp]
cmp ecx, 3
je SHORT $L8911
movsx edx, BYTE PTR _mode$[ebp]
cmp edx, 4
je SHORT $L8911
; Line 8276
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+136], -1
$L8911:
; Line 8278
jmp SHORT $L8913
$L8910:
; Line 8280
movsx edx, BYTE PTR _mode$[ebp]
cmp edx, 2
jne SHORT $L8913
; Line 8281
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+136]
mov DWORD PTR _it$[ebp], edx
$L8913:
; Line 8285
movsx eax, BYTE PTR _mode$[ebp]
test eax, eax
jne SHORT $L8914
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+112]
test eax, eax
je SHORT $L8914
; Line 8286
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -72+[ebp]
call _rand
mov DWORD PTR -76+[ebp], eax
fild DWORD PTR -76+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd ST(0), ST(0)
fadd DWORD PTR -72+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+128]
$L8914:
; Line 8288
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+112]
cmp edx, 6
jne SHORT $L8917
; Line 8290
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_UnattachChildren@@3P6AXH@ZA ; Obj_UnattachChildren
add esp, 4
; Line 8291
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+136], -1
$L8917:
; Line 8294
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 8297
movsx ecx, BYTE PTR _mode$[ebp]
mov DWORD PTR -80+[ebp], ecx
cmp DWORD PTR -80+[ebp], 6
ja $L8919
mov edx, DWORD PTR -80+[ebp]
jmp DWORD PTR $L11462[edx*4]
$L8922:
; Line 8304
lea eax, DWORD PTR _max_speed$8924[ebp]
push eax
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8305
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+16]
fdiv DWORD PTR _max_speed$8924[ebp]
fadd DWORD PTR __real@4@3ffd99999a0000000000
fstp DWORD PTR -84+[ebp]
call _rand
mov DWORD PTR -88+[ebp], eax
fild DWORD PTR -88+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fsubr DWORD PTR -84+[ebp]
fstp DWORD PTR _update_time$8926[ebp]
; Line 8306
fld DWORD PTR _update_time$8926[ebp]
fcomp DWORD PTR __real@4@3ffe99999a0000000000
fnstsw ax
test ah, 1
je SHORT $L8929
; Line 8307
mov DWORD PTR _update_time$8926[ebp], 1058642330 ; 3f19999aH
$L8929:
; Line 8309
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR _update_time$8926[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+120]
; Line 8311
lea eax, DWORD PTR _pos$8925[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?ComputeNextNestPnt@BarnSwallow@@AAEXHPAUvector@@@Z ; BarnSwallow::ComputeNextNestPnt
; Line 8313
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
lea edx, DWORD PTR _pos$8925[ebp]
push edx
push 4224 ; 00001080H
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 8314
push 1092616192 ; 41200000H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
; Line 8316
jmp $L8919
$L8931:
; Line 8323
mov DWORD PTR _dist$8932[ebp], 1101004800 ; 41a00000H
; Line 8325
push 1
push 0
push 1072483532 ; 3fecccccH
push -1073741824 ; c0000000H
push 0
push 0
mov edx, DWORD PTR _it$[ebp]
push edx
push 4096 ; 00001000H
push -1
push 1065353216 ; 3f800000H
push 1
push 8
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 52 ; 00000034H
; Line 8326
push 0
lea ecx, DWORD PTR _dist$8932[ebp]
push ecx
push 26 ; 0000001aH
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 8329
call _rand
mov DWORD PTR -92+[ebp], eax
fild DWORD PTR -92+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4003a000000000000000
fadd DWORD PTR __real@4@4002c000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+132]
; Line 8330
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _it$[ebp]
mov DWORD PTR [eax+136], ecx
; Line 8332
jmp $L8919
$L8935:
; Line 8335
call _rand
mov DWORD PTR -96+[ebp], eax
fild DWORD PTR -96+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR __real@4@4004a000000000000000
fstp DWORD PTR _dist$8936[ebp]
; Line 8336
lea edx, DWORD PTR _f_attack_flags$[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8338
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp QWORD PTR -104+[ebp]
call _rand
mov DWORD PTR -108+[ebp], eax
fild DWORD PTR -108+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul QWORD PTR __real@8@4002a000000000000000
fadd QWORD PTR -104+[ebp]
fst DWORD PTR -112+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+124]
; Line 8340
push -1
push -1073737584 ; c0001090H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 8341
push 0
lea ecx, DWORD PTR _dist$8936[ebp]
push ecx
push 26 ; 0000001aH
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 8343
mov DWORD PTR _dist$8936[ebp], 1109393408 ; 42200000H
; Line 8344
push -1
push 4112 ; 00001010H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$8941[ebp], eax
; Line 8345
push 0
lea ecx, DWORD PTR _dist$8936[ebp]
push ecx
push 26 ; 0000001aH
push 0
mov dl, BYTE PTR _g_index$8941[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 8347
jmp $L8919
$L8942:
; Line 8353
lea ecx, DWORD PTR _f_attack_flags$[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8355
push 0
lea eax, DWORD PTR _pos$8943[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8356
push 0
lea edx, DWORD PTR _room$8944[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8358
mov ecx, DWORD PTR _room$8944[ebp]
push ecx
lea edx, DWORD PTR _pos$8943[ebp]
push edx
push -2147479540 ; 8000100cH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 8360
mov DWORD PTR _dist$8945[ebp], 1109393408 ; 42200000H
; Line 8361
push -1
push 4112 ; 00001010H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$8946[ebp], eax
; Line 8362
push 0
lea edx, DWORD PTR _dist$8945[ebp]
push edx
push 26 ; 0000001aH
push 0
mov al, BYTE PTR _g_index$8946[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 8364
jmp SHORT $L8919
$L8948:
; Line 8371
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax]
push ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 4
push eax
push -2147479424 ; 80001080H
push -1
push 1065353216 ; 3f800000H
push 1
push 1048576 ; 00100000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 8372
push 1084227584 ; 40a00000H
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetGoalCircleDist@@3P6AXHHM@ZA ; AI_SetGoalCircleDist
add esp, 12 ; 0000000cH
$L8919:
; Line 8377
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx+112], dl
; Line 8379
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+116], 0
; Line 8380
mov al, 1
; Line 8381
mov esp, ebp
pop ebp
ret 12 ; 0000000cH
$L11462:
DD $L8922
DD $L8919
DD $L8931
DD $L8935
DD $L8942
DD $L8919
DD $L8948
?SetMode@BarnSwallow@@AAE_NHDH@Z ENDP ; BarnSwallow::SetMode
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@BarnSwallow@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; BarnSwallow::CallEvent
; Line 8384
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 8386
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L8955
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11464[eax]
jmp DWORD PTR $L11465[edx*4]
$L8958:
; Line 8388
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@BarnSwallow@@AAEXH@Z ; BarnSwallow::DoFrame
; Line 8389
jmp SHORT $L8955
$L8959:
; Line 8391
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@BarnSwallow@@AAEXH@Z ; BarnSwallow::DoInit
; Line 8392
jmp SHORT $L8955
$L8960:
; Line 8394
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@BarnSwallow@@AAE_NHPAUtOSIRISEventInfo@@@Z ; BarnSwallow::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L8953
$L8962:
; Line 8400
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L8955:
; Line 8404
mov ax, 257 ; 00000101H
$L8953:
; Line 8405
mov esp, ebp
pop ebp
ret 8
$L11465:
DD $L8958
DD $L8960
DD $L8959
DD $L8962
DD $L8955
$L11464:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@BarnSwallow@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; BarnSwallow::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@GBPowerup@@AAEXH@Z ; GBPowerup::DoInit
_DATA SEGMENT
ORG $+2
$SG8975 DB 'Buddyextinguisher', 00H
ORG $+2
$SG8976 DB 'buddywingnut', 00H
ORG $+3
$SG8977 DB 'buddycontrol', 00H
ORG $+3
$SG8978 DB 'buddyassist', 00H
$SG8979 DB 'buddyantivirus', 00H
ORG $+1
$SG8980 DB 'buddyspeed', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -40
_i$ = -4
_ch$ = -20
_short_id$ = -36
_id$ = -24
?DoInit@GBPowerup@@AAEXH@Z PROC NEAR ; GBPowerup::DoInit
; Line 8413
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov DWORD PTR _this$[ebp], ecx
; Line 8416
mov WORD PTR _ch$[ebp+8], 4
; Line 8417
mov DWORD PTR _ch$[ebp+12], 12 ; 0000000cH
; Line 8418
mov DWORD PTR _ch$[ebp], 0
; Line 8419
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 8421
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 8422
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -44+[ebp]
call _rand
mov DWORD PTR -48+[ebp], eax
fild DWORD PTR -48+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR -44+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+4]
; Line 8423
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+8], 0
; Line 8427
push OFFSET FLAT:$SG8975
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp], ax
; Line 8428
push OFFSET FLAT:$SG8976
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp+2], ax
; Line 8429
push OFFSET FLAT:$SG8977
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp+4], ax
; Line 8430
push OFFSET FLAT:$SG8978
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp+6], ax
; Line 8431
push OFFSET FLAT:$SG8979
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp+8], ax
; Line 8432
push OFFSET FLAT:$SG8980
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _short_id$[ebp+10], ax
; Line 8435
push 0
lea ecx, DWORD PTR _id$[ebp]
push ecx
push 2
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8437
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 5
; Line 8438
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L8982
$L8983:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L8982:
cmp DWORD PTR _i$[ebp], 6
jge SHORT $L8984
; Line 8440
mov eax, DWORD PTR _id$[ebp]
and eax, 65535 ; 0000ffffH
mov ecx, DWORD PTR _i$[ebp]
xor edx, edx
mov dx, WORD PTR _short_id$[ebp+ecx*2]
cmp eax, edx
jne SHORT $L8985
; Line 8442
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _i$[ebp]
mov BYTE PTR [ecx], dl
$L8985:
; Line 8444
jmp SHORT $L8983
$L8984:
; Line 8445
mov esp, ebp
pop ebp
ret 4
?DoInit@GBPowerup@@AAEXH@Z ENDP ; GBPowerup::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@GBPowerup@@AAEXH@Z ; GBPowerup::DoFrame
PUBLIC __real@4@3ffccccccd0000000000
; COMDAT __real@4@3ffccccccd0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffccccccd0000000000 DD 03e4ccccdr ; 0.2
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -188
_pos$8991 = -124
_room$8992 = -112
_scan_objs$8993 = -104
_n_scan$8994 = -4
_i$8995 = -108
_type$9001 = -128
_id$9002 = -132
_g_pos$9004 = -148
_dist$9005 = -136
_command$9007 = -184
_data$9008 = -176
?DoFrame@GBPowerup@@AAEXH@Z PROC NEAR ; GBPowerup::DoFrame
; File aigame.cpp
; Line 8448
push ebp
mov ebp, esp
sub esp, 196 ; 000000c4H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 8449
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+4]
fnstsw ax
test ah, 1
jne $L9000
; Line 8457
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@3ffccccccd0000000000
fstp DWORD PTR -192+[ebp]
call _rand
mov DWORD PTR -196+[ebp], eax
fild DWORD PTR -196+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@3ffd99999a0000000000
fadd DWORD PTR -192+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 8459
push 0
lea eax, DWORD PTR _pos$8991[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8460
push 0
lea edx, DWORD PTR _room$8992[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8462
push 1
push 0
push 1
push 0
push 25 ; 00000019H
lea ecx, DWORD PTR _scan_objs$8993[ebp]
push ecx
push 1084227584 ; 40a00000H
mov edx, DWORD PTR _room$8992[ebp]
push edx
lea eax, DWORD PTR _pos$8991[ebp]
push eax
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$8994[ebp], eax
; Line 8464
mov DWORD PTR _i$8995[ebp], 0
jmp SHORT $L8998
$L8999:
mov ecx, DWORD PTR _i$8995[ebp]
add ecx, 1
mov DWORD PTR _i$8995[ebp], ecx
$L8998:
mov edx, DWORD PTR _i$8995[ebp]
cmp edx, DWORD PTR _n_scan$8994[ebp]
jge $L9000
; Line 8468
push 0
lea eax, DWORD PTR _type$9001[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _i$8995[ebp]
mov edx, DWORD PTR _scan_objs$8993[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8469
push 0
lea eax, DWORD PTR _id$9002[ebp]
push eax
push 2
push 1
mov ecx, DWORD PTR _i$8995[ebp]
mov edx, DWORD PTR _scan_objs$8993[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8471
cmp DWORD PTR _type$9001[ebp], 2
jne $L9006
movsx eax, WORD PTR _id$9002[ebp]
test eax, eax
jne $L9006
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
test edx, edx
je $L9006
; Line 8474
push 0
lea edx, DWORD PTR _g_pos$9004[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _i$8995[ebp]
mov ecx, DWORD PTR _scan_objs$8993[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8476
lea edx, DWORD PTR _g_pos$9004[ebp]
push edx
lea eax, DWORD PTR _pos$8991[ebp]
push eax
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dist$9005[ebp]
; Line 8478
fld DWORD PTR _dist$9005[ebp]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 1
je SHORT $L9006
; Line 8481
mov BYTE PTR _command$9007[ebp], 5
; Line 8482
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx]
mov BYTE PTR _command$9007[ebp+1], al
; Line 8485
mov ecx, DWORD PTR _i$8995[ebp]
mov edx, DWORD PTR _scan_objs$8993[ebp+ecx*4]
mov DWORD PTR _data$9008[ebp+20], edx
; Line 8486
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _data$9008[ebp+4], eax
; Line 8488
lea ecx, DWORD PTR _command$9007[ebp]
mov DWORD PTR _data$9008[ebp+24], ecx
; Line 8489
mov DWORD PTR _data$9008[ebp], 16 ; 00000010H
; Line 8491
lea edx, DWORD PTR _data$9008[ebp]
push edx
push 272 ; 00000110H
mov eax, DWORD PTR _i$8995[ebp]
mov ecx, DWORD PTR _scan_objs$8993[ebp+eax*4]
push ecx
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
; Line 8493
jmp SHORT $L9000
$L9006:
; Line 8496
jmp $L8999
$L9000:
; Line 8498
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@GBPowerup@@AAEXH@Z ENDP ; GBPowerup::DoFrame
_event$ = 8
_data$ = 12
_this$ = -8
_type$9024 = -4
?CallEvent@GBPowerup@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; GBPowerup::CallEvent
; Line 8501
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 8503
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -12+[ebp], eax
mov ecx, DWORD PTR -12+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -12+[ebp], ecx
cmp DWORD PTR -12+[ebp], 25 ; 00000019H
ja $L9016
mov eax, DWORD PTR -12+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11471[eax]
jmp DWORD PTR $L11472[edx*4]
$L9019:
; Line 8505
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fsubr DWORD PTR [esi+8]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 8506
jmp $L9016
$L9020:
; Line 8508
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@GBPowerup@@AAEXH@Z ; GBPowerup::DoInit
; Line 8509
jmp SHORT $L9016
$L9021:
; Line 8511
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@GBPowerup@@AAEXH@Z ; GBPowerup::DoFrame
; Line 8512
jmp SHORT $L9016
$L9022:
; Line 8515
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+8]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9025
; Line 8519
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+8], 1065353216 ; 3f800000H
; Line 8520
push 0
lea eax, DWORD PTR _type$9024[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8522
cmp DWORD PTR _type$9024[ebp], 4
jne SHORT $L9025
; Line 8524
push 93 ; 0000005dH
call ?GetStringFromTable@@YAPADH@Z ; GetStringFromTable
add esp, 4
push eax
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call DWORD PTR ?Player_AddHudMessage@@3P6AXHPAD@ZA ; Player_AddHudMessage
add esp, 8
$L9025:
; Line 8528
jmp SHORT $L9016
$L9026:
; Line 8531
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9016:
; Line 8535
mov ax, 257 ; 00000101H
; Line 8536
pop esi
mov esp, ebp
pop ebp
ret 8
$L11472:
DD $L9019
DD $L9021
DD $L9022
DD $L9020
DD $L9026
DD $L9016
$L11471:
DB 0
DB 1
DB 5
DB 2
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 3
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 4
?CallEvent@GBPowerup@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; GBPowerup::CallEvent
_TEXT ENDS
PUBLIC __real@4@400ec350000000000000
PUBLIC ?DoNotify@Sparky@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Sparky::DoNotify
; COMDAT __real@4@400ec350000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@400ec350000000000000 DD 047435000r ; 50000
CONST ENDS
_TEXT SEGMENT
_me_handle$ = 8
_data$ = 12
_this$ = -28
_rvel$9034 = -12
_dir$9037 = -24
?DoNotify@Sparky@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Sparky::DoNotify
; File aigame.cpp
; Line 8543
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 8545
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax+8], 0
jne $L9033
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx], 19 ; 00000013H
jne $L9033
; Line 8548
push 0
lea edx, DWORD PTR _rvel$9034[ebp]
push edx
push 7
push 1
mov eax, DWORD PTR _me_handle$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8550
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+60]
cmp eax, 1
jne SHORT $L9035
; Line 8552
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul DWORD PTR __real@4@400ec350000000000000
fsubr DWORD PTR _rvel$9034[ebp+4]
fstp DWORD PTR _rvel$9034[ebp+4]
; Line 8554
jmp SHORT $L9036
$L9035:
; Line 8556
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul DWORD PTR __real@4@400ec350000000000000
fadd DWORD PTR _rvel$9034[ebp+4]
fstp DWORD PTR _rvel$9034[ebp+4]
$L9036:
; Line 8559
push 0
lea ecx, DWORD PTR _rvel$9034[ebp]
push ecx
push 7
push 0
mov edx, DWORD PTR _me_handle$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8561
mov eax, DWORD PTR _Zero_vector
mov DWORD PTR _dir$9037[ebp], eax
mov ecx, DWORD PTR _Zero_vector+4
mov DWORD PTR _dir$9037[ebp+4], ecx
mov edx, DWORD PTR _Zero_vector+8
mov DWORD PTR _dir$9037[ebp+8], edx
; Line 8562
lea eax, DWORD PTR _dir$9037[ebp]
push eax
push 30 ; 0000001eH
push 0
mov ecx, DWORD PTR _me_handle$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9033:
; Line 8565
mov al, 1
; Line 8566
mov esp, ebp
pop ebp
ret 8
?DoNotify@Sparky@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; Sparky::DoNotify
_TEXT ENDS
PUBLIC ?SetMode@Sparky@@AAEXHD@Z ; Sparky::SetMode
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -8
_drag$9049 = -4
?SetMode@Sparky@@AAEXHD@Z PROC NEAR ; Sparky::SetMode
; Line 8569
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 8570
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 8573
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR -12+[ebp], cl
cmp BYTE PTR -12+[ebp], 0
je SHORT $L9047
cmp BYTE PTR -12+[ebp], 1
je SHORT $L9048
jmp SHORT $L9044
$L9047:
; Line 8576
push 0
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 12 ; 0000000cH
push eax
push 15 ; 0000000fH
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8577
push 6
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 8579
jmp SHORT $L9044
$L9048:
; Line 8582
push 0
push 131073 ; 00020001H
push -1
push 1148846080 ; 447a0000H
push 0
push 65536 ; 00010000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 8584
mov DWORD PTR _drag$9049[ebp], 0
; Line 8585
push 0
lea ecx, DWORD PTR _drag$9049[ebp]
push ecx
push 15 ; 0000000fH
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L9044:
; Line 8590
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
; Line 8591
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+64], 0
; Line 8592
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+4], 0
; Line 8593
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx], dl
; Line 8594
mov esp, ebp
pop ebp
ret 8
?SetMode@Sparky@@AAEXHD@Z ENDP ; Sparky::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Sparky@@AAEXH@Z ; Sparky::DoInit
_DATA SEGMENT
ORG $+1
$SG9058 DB 'FunkyEffect2', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -940
_ch$ = -16
_mstruct$ = -936
?DoInit@Sparky@@AAEXH@Z PROC NEAR ; Sparky::DoInit
; Line 8597
push ebp
mov ebp, esp
sub esp, 940 ; 000003acH
mov DWORD PTR _this$[ebp], ecx
; Line 8599
mov WORD PTR _ch$[ebp+8], 4
; Line 8600
mov DWORD PTR _ch$[ebp+12], 68 ; 00000044H
; Line 8601
mov DWORD PTR _ch$[ebp], 0
; Line 8602
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 8604
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 8606
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+8], 1
; Line 8607
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], -1
; Line 8608
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx], 0
; Line 8609
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 8610
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+60], 0
; Line 8611
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+64], 0
; Line 8613
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 15 ; 0000000fH
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8614
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 24 ; 00000018H
push ecx
push 4
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8618
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$[ebp+44], eax
; Line 8619
mov DWORD PTR _mstruct$[ebp+616], 0
; Line 8620
mov DWORD PTR _mstruct$[ebp+628], 1065353216 ; 3f800000H
; Line 8621
mov DWORD PTR _mstruct$[ebp+576], 1315859240 ; 4e6e6b28H
; Line 8622
mov DWORD PTR _mstruct$[ebp+580], 1084437299 ; 40a33333H
; Line 8624
push 0
lea ecx, DWORD PTR _mstruct$[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8625
push 0
lea eax, DWORD PTR _mstruct$[ebp+176]
push eax
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
add esp, 16 ; 00000010H
; Line 8626
push 0
lea edx, DWORD PTR _mstruct$[ebp+652]
push edx
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
add esp, 16 ; 00000010H
; Line 8628
mov BYTE PTR _mstruct$[ebp+276], 0
; Line 8629
mov DWORD PTR _mstruct$[ebp+272], 1056964608 ; 3f000000H
; Line 8630
mov DWORD PTR _mstruct$[ebp+588], 2
; Line 8631
mov DWORD PTR _mstruct$[ebp+264], 2
; Line 8632
push OFFSET FLAT:$SG9058
call DWORD PTR ?Scrpt_FindTextureName@@3P6AHPAD@ZA ; Scrpt_FindTextureName
add esp, 4
mov WORD PTR _mstruct$[ebp+6], ax
; Line 8634
mov DWORD PTR _mstruct$[ebp+568], 16912 ; 00004210H
; Line 8635
mov DWORD PTR _mstruct$[ebp+592], 1
; Line 8636
lea ecx, DWORD PTR _mstruct$[ebp]
push ecx
push 103 ; 00000067H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 8638
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+16]
; Line 8639
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+64], 0
; Line 8640
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 8641
mov esp, ebp
pop ebp
ret 4
?DoInit@Sparky@@AAEXH@Z ENDP ; Sparky::DoInit
_TEXT ENDS
PUBLIC __real@4@400effff000000000000
PUBLIC __real@4@400bbb80000000000000
PUBLIC __real@4@3ffbcccccd0000000000
PUBLIC __real@8@4000a000000000000000
PUBLIC ?DoFrame@Sparky@@AAEXH@Z ; Sparky::DoFrame
; COMDAT __real@4@400effff000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@400effff000000000000 DD 0477fff00r ; 65535
CONST ENDS
; COMDAT __real@4@400bbb80000000000000
CONST SEGMENT
__real@4@400bbb80000000000000 DD 045bb8000r ; 6000
CONST ENDS
; COMDAT __real@4@3ffbcccccd0000000000
CONST SEGMENT
__real@4@3ffbcccccd0000000000 DD 03dcccccdr ; 0.1
CONST ENDS
; COMDAT __real@8@4000a000000000000000
CONST SEGMENT
__real@8@4000a000000000000000 DQ 04004000000000000r ; 2.5
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -996
_spin_dir$9064 = -52
_orient$9065 = -44
_dot$9066 = -8
_ang$9070 = -4
_aps$9071 = -48
_tdot$9073 = -56
_room$9086 = -60
_pos$9087 = -72
_mstruct$9089 = -992
?DoFrame@Sparky@@AAEXH@Z PROC NEAR ; Sparky::DoFrame
; File aigame.cpp
; Line 8644
push ebp
mov ebp, esp
sub esp, 1008 ; 000003f0H
push esi
push edi
mov DWORD PTR _this$[ebp], ecx
; Line 8646
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx]
test edx, edx
jne $L9063
; Line 8650
push 0
lea eax, DWORD PTR _orient$9065[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8652
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 24 ; 00000018H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$9065[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$9065[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$9065[ebp+8]
mov DWORD PTR [ecx+8], edx
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
fstp DWORD PTR _dot$9066[ebp]
; Line 8653
fld DWORD PTR _dot$9066[ebp]
fcomp DWORD PTR __real@4@bfff8000000000000000
fnstsw ax
test ah, 1
je SHORT $L9067
mov DWORD PTR _dot$9066[ebp], -1082130432 ; bf800000H
; Line 8654
jmp SHORT $L9069
$L9067:
fld DWORD PTR _dot$9066[ebp]
fcomp DWORD PTR __real@4@3fff8000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9069
mov DWORD PTR _dot$9066[ebp], 1065353216 ; 3f800000H
$L9069:
; Line 8656
fld DWORD PTR _dot$9066[ebp]
sub esp, 8
fstp QWORD PTR [esp]
call _acos
add esp, 8
fst DWORD PTR _ang$9070[ebp]
; Line 8658
fmul DWORD PTR __real@4@400effff000000000000
fstp QWORD PTR -1004+[ebp]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul QWORD PTR __real@8@4001c90fdaa2922a8000
fdivr QWORD PTR -1004+[ebp]
fstp DWORD PTR _aps$9071[ebp]
; Line 8660
fld DWORD PTR _aps$9071[ebp]
fcomp DWORD PTR __real@4@400bbb80000000000000
fnstsw ax
test ah, 1
jne SHORT $L9072
; Line 8662
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9065[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9065[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9065[ebp+32]
mov DWORD PTR [eax+8], ecx
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 24 ; 00000018H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR [eax]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR [ecx+8], eax
call ??D@YAMUvector@@0@Z ; operator*
add esp, 24 ; 00000018H
fstp DWORD PTR _tdot$9073[ebp]
; Line 8663
fld DWORD PTR _tdot$9073[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
je SHORT $L9074
; Line 8664
mov BYTE PTR _spin_dir$9064[ebp], 1
; Line 8665
jmp SHORT $L9077
$L9074:
fld DWORD PTR _tdot$9073[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9076
; Line 8666
mov BYTE PTR _spin_dir$9064[ebp], 2
; Line 8667
jmp SHORT $L9077
$L9076:
; Line 8668
mov BYTE PTR _spin_dir$9064[ebp], 0
$L9077:
; Line 8670
jmp SHORT $L9078
$L9072:
; Line 8672
mov BYTE PTR _spin_dir$9064[ebp], 0
$L9078:
; Line 8675
movsx ecx, BYTE PTR _spin_dir$9064[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx edx, BYTE PTR [eax+60]
cmp ecx, edx
jne SHORT $L9079
; Line 8677
movsx eax, BYTE PTR _spin_dir$9064[ebp]
test eax, eax
jne SHORT $L9080
; Line 8678
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+64], 0
; Line 8679
jmp SHORT $L9081
$L9080:
; Line 8680
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+64]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+64]
$L9081:
; Line 8682
jmp SHORT $L9082
$L9079:
; Line 8684
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _spin_dir$9064[ebp]
mov BYTE PTR [ecx+60], dl
; Line 8685
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+64], 0
$L9082:
; Line 8688
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _spin_dir$9064[ebp]
mov BYTE PTR [eax+60], cl
; Line 8689
mov edx, DWORD PTR _this$[ebp]
mov edi, DWORD PTR [edx+4]
add edi, 24 ; 00000018H
mov ecx, 9
lea esi, DWORD PTR _orient$9065[ebp]
rep movsd
; Line 8693
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+64]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9083
; Line 8695
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sparky@@AAEXHD@Z ; Sparky::SetMode
$L9083:
; Line 8698
jmp $L9090
$L9063:
; Line 8700
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+16]
fadd DWORD PTR __real@4@3ffbcccccd0000000000
fstp DWORD PTR -1008+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -1008+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9085
; Line 8702
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+16]
; Line 8707
push 0
lea ecx, DWORD PTR _room$9086[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8708
push 0
lea eax, DWORD PTR _pos$9087[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8710
push 1065353216 ; 3f800000H
push -1
mov edx, DWORD PTR _room$9086[ebp]
push edx
lea eax, DWORD PTR _pos$9087[ebp]
push eax
push 5
call DWORD PTR ?Game_CreateRandomSparks@@3P6AXHPAUvector@@HHM@ZA ; Game_CreateRandomSparks
add esp, 20 ; 00000014H
$L9085:
; Line 8713
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR [edx+4]
fcomp QWORD PTR __real@8@4000a000000000000000
fnstsw ax
test ah, 1
je $L9088
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
fcomp QWORD PTR __real@8@4000a000000000000000
fnstsw ax
test ah, 1
jne $L9088
; Line 8717
mov BYTE PTR _mstruct$9089[ebp+229], 21 ; 00000015H
; Line 8718
mov BYTE PTR _mstruct$9089[ebp+228], 0
; Line 8719
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$9089[ebp+44], ecx
; Line 8720
mov BYTE PTR _mstruct$9089[ebp+231], 1
; Line 8721
mov BYTE PTR _mstruct$9089[ebp+232], 7
; Line 8722
mov BYTE PTR _mstruct$9089[ebp+233], 0
; Line 8723
mov DWORD PTR _mstruct$9089[ebp+236], 981668463 ; 3a83126fH
; Line 8724
mov DWORD PTR _mstruct$9089[ebp+240], 981668463 ; 3a83126fH
; Line 8725
mov DWORD PTR _mstruct$9089[ebp+272], 1028443341 ; 3d4ccccdH
; Line 8726
mov DWORD PTR _mstruct$9089[ebp+572], 1203982336 ; 47c35000H
; Line 8727
mov DWORD PTR _mstruct$9089[ebp+576], 1065353216 ; 3f800000H
; Line 8728
mov DWORD PTR _mstruct$9089[ebp+580], 1090519040 ; 41000000H
; Line 8729
mov DWORD PTR _mstruct$9089[ebp+584], 1123024896 ; 42f00000H
; Line 8731
lea edx, DWORD PTR _mstruct$9089[ebp]
push edx
push 33 ; 00000021H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L9088:
; Line 8734
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9090
; Line 8736
push 0
push 0
push 67296 ; 000106e0H
push 1148846080 ; 447a0000H
push -1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L9090:
; Line 8740
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 8741
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Sparky@@AAEXH@Z ENDP ; Sparky::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Sparky@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Sparky::CallEvent
; Line 8744
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 8746
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9097
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11488[eax]
jmp DWORD PTR $L11489[edx*4]
$L9100:
; Line 8748
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Sparky@@AAEXH@Z ; Sparky::DoInit
; Line 8749
jmp SHORT $L9097
$L9101:
; Line 8751
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Sparky@@AAEXH@Z ; Sparky::DoFrame
; Line 8752
jmp SHORT $L9097
$L9102:
; Line 8754
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Sparky@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Sparky::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9095
$L9103:
; Line 8758
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9097:
; Line 8762
mov ax, 257 ; 00000101H
$L9095:
; Line 8763
mov esp, ebp
pop ebp
ret 8
$L11489:
DD $L9101
DD $L9102
DD $L9100
DD $L9103
DD $L9097
$L11488:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Sparky@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Sparky::CallEvent
_TEXT ENDS
PUBLIC ?DoNotify@Hellion@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Hellion::DoNotify
PUBLIC ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -4
?DoNotify@Hellion@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Hellion::DoNotify
; Line 8770
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 8772
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx+4]
mov BYTE PTR -8+[ebp], dl
cmp BYTE PTR -8+[ebp], 0
je SHORT $L9114
cmp BYTE PTR -8+[ebp], 1
je SHORT $L9116
jmp SHORT $L9111
$L9114:
; Line 8775
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax], 27 ; 0000001bH
jne SHORT $L9115
; Line 8777
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9115:
; Line 8780
jmp SHORT $L9111
$L9116:
; Line 8783
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx], 28 ; 0000001cH
jne SHORT $L9117
; Line 8785
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9117:
$L9111:
; Line 8791
mov al, 1
; Line 8792
mov esp, ebp
pop ebp
ret 8
?DoNotify@Hellion@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; Hellion::DoNotify
_TEXT ENDS
PUBLIC ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
_TEXT SEGMENT
_me$ = 8
_start$ = 12
_end$ = 16
_time$ = 20
_this$ = -4
?RemapAlert@Hellion@@AAEXHMMM@Z PROC NEAR ; Hellion::RemapAlert
; Line 8795
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 8796
push 0
lea eax, DWORD PTR _start$[ebp]
push eax
push 21 ; 00000015H
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8797
push 0
lea edx, DWORD PTR _end$[ebp]
push edx
push 22 ; 00000016H
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8798
push 0
lea ecx, DWORD PTR _time$[ebp]
push ecx
push 23 ; 00000017H
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8799
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?RemapAlert@Hellion@@AAEXHMMM@Z ENDP ; Hellion::RemapAlert
_TEXT ENDS
PUBLIC ?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z ; Hellion::RemapWB
_TEXT SEGMENT
_me$ = 8
_start$ = 12
_fire$ = 16
_fire_sound$ = 20
_end$ = 24
_time$ = 28
_latency$ = 32
_index$ = 36
_w_id$ = 40
_f_mask$ = 44
_this$ = -12
_num_gps$ = -8
_i$ = -4
?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z PROC NEAR ; Hellion::RemapWB
; Line 8802
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 8803
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _start$[ebp]
push ecx
push 11 ; 0000000bH
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8804
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _fire$[ebp]
push ecx
push 12 ; 0000000cH
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8805
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _fire_sound$[ebp]
push ecx
push 8
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8806
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _end$[ebp]
push ecx
push 13 ; 0000000dH
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8807
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _time$[ebp]
push ecx
push 10 ; 0000000aH
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8808
mov al, BYTE PTR _index$[ebp]
push eax
lea ecx, DWORD PTR _latency$[ebp]
push ecx
push 9
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8809
push 0
lea eax, DWORD PTR _f_mask$[ebp]
push eax
push 7
push 0
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8812
push 0
lea edx, DWORD PTR _num_gps$[ebp]
push edx
push 3
push 1
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8815
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L9140
$L9141:
mov ecx, DWORD PTR _i$[ebp]
add ecx, 1
mov DWORD PTR _i$[ebp], ecx
$L9140:
movsx edx, BYTE PTR _num_gps$[ebp]
cmp DWORD PTR _i$[ebp], edx
jge SHORT $L9142
; Line 8817
mov al, BYTE PTR _i$[ebp]
push eax
lea ecx, DWORD PTR _w_id$[ebp]
push ecx
push 4
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_WBValue@@3P6AXHDDDPAXD@ZA ; Obj_WBValue
add esp, 24 ; 00000018H
; Line 8818
jmp SHORT $L9141
$L9142:
; Line 8819
mov esp, ebp
pop ebp
ret 40 ; 00000028H
?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z ENDP ; Hellion::RemapWB
_TEXT ENDS
_DATA SEGMENT
ORG $+3
$SG9168 DB 'Concussion', 00H
ORG $+1
$SG9169 DB 'concmissilefire71', 00H
ORG $+2
$SG9171 DB 'JuggNapalm', 00H
ORG $+1
$SG9172 DB 'WpnbotNapalmTemp', 00H
ORG $+3
$SG9174 DB 'homing', 00H
ORG $+1
$SG9175 DB 'HomingfireB1', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -28
_flags$9158 = -4
_flags$9179 = -20
_vel$9180 = -16
_circle_dist$9181 = -24
?SetMode@Hellion@@AAEXHD@Z PROC NEAR ; Hellion::SetMode
; Line 8822
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 8823
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 8826
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx+4]
mov BYTE PTR -32+[ebp], al
cmp BYTE PTR -32+[ebp], 2
jl SHORT $L9149
cmp BYTE PTR -32+[ebp], 5
jle SHORT $L9152
jmp SHORT $L9149
$L9152:
; Line 8831
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR [edx+5], al
; Line 8832
mov BYTE PTR _mode$[ebp], 8
$L9149:
; Line 8837
movsx ecx, BYTE PTR _mode$[ebp]
mov DWORD PTR -36+[ebp], ecx
mov edx, DWORD PTR -36+[ebp]
sub edx, 2
mov DWORD PTR -36+[ebp], edx
cmp DWORD PTR -36+[ebp], 6
ja $L9182
mov eax, DWORD PTR -36+[ebp]
jmp DWORD PTR $L11494[eax*4]
$L9157:
; Line 8840
push 1065353216 ; 3f800000H
push 1092616192 ; 41200000H
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8842
mov DWORD PTR _flags$9158[ebp], 8388608 ; 00800000H
; Line 8843
lea edx, DWORD PTR _flags$9158[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8846
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
mov DWORD PTR -40+[ebp], eax
mov ecx, DWORD PTR -40+[ebp]
sub ecx, 2
mov DWORD PTR -40+[ebp], ecx
cmp DWORD PTR -40+[ebp], 3
ja $L9160
mov edx, DWORD PTR -40+[ebp]
jmp DWORD PTR $L11495[edx*4]
$L9163:
; Line 8848
push 0
push -1
push 2
push 1075838976 ; 40200000H
push 1124859904 ; 430c0000H
push 1123024896 ; 42f00000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8849
jmp SHORT $L9160
$L9164:
; Line 8851
push 0
push -1
push 2
push 1084227584 ; 40a00000H
push 1131413504 ; 43700000H
push 1128792064 ; 43480000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8852
jmp SHORT $L9160
$L9165:
; Line 8854
push 0
push -1
push 2
push 1075000115 ; 40133333H
push 1117782016 ; 42a00000H
push 1115160576 ; 42780000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8855
jmp SHORT $L9160
$L9166:
; Line 8857
push 0
push -1
push 2
push 1071225242 ; 3fd9999aH
push 1135640576 ; 43b08000H
push 1135149056 ; 43a90000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L9160:
; Line 8861
jmp $L9154
$L9167:
; Line 8864
push 1065353216 ; 3f800000H
push 1136656384 ; 43c00000H
push 1136361472 ; 43bb8000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8865
push 30 ; 0000001eH
push OFFSET FLAT:$SG9168
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
push eax
push 0
push 1056964608 ; 3f000000H
push 1075838976 ; 40200000H
push 1123024896 ; 42f00000H
push OFFSET FLAT:$SG9169
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 1123024896 ; 42f00000H
push 1120403456 ; 42c80000H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z ; Hellion::RemapWB
; Line 8866
push 0
push -1
push 2
push 1076677837 ; 402ccccdH
push 1120403456 ; 42c80000H
push 1117782016 ; 42a00000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8867
jmp $L9154
$L9170:
; Line 8869
push 1065353216 ; 3f800000H
push 1136164864 ; 43b88000H
push 1135869952 ; 43b40000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8870
push 6
push OFFSET FLAT:$SG9171
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
push eax
push 0
push 1041865114 ; 3e19999aH
push 1073741824 ; 40000000H
push 1115160576 ; 42780000H
push OFFSET FLAT:$SG9172
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 1115160576 ; 42780000H
push 1111490560 ; 42400000H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z ; Hellion::RemapWB
; Line 8871
push 0
push -1
push 2
push 1084227584 ; 40a00000H
push 1111490560 ; 42400000H
push 1092616192 ; 41200000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8872
jmp $L9154
$L9173:
; Line 8874
push 1065353216 ; 3f800000H
push 1137180672 ; 43c80000H
push 1136852992 ; 43c30000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8875
push 30 ; 0000001eH
push OFFSET FLAT:$SG9174
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
push eax
push 0
push 1061997773 ; 3f4ccccdH
push 1076677837 ; 402ccccdH
push 1128792064 ; 43480000H
push OFFSET FLAT:$SG9175
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
push eax
push 1128792064 ; 43480000H
push 1127415808 ; 43330000H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapWB@Hellion@@AAEXHMMHMMMHGD@Z ; Hellion::RemapWB
; Line 8876
push 0
push -1
push 2
push 1084227584 ; 40a00000H
push 1127415808 ; 43330000H
push 1124859904 ; 430c0000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8877
jmp $L9154
$L9176:
; Line 8879
push 1075838976 ; 40200000H
push 1133543424 ; 43908000H
push 1132953600 ; 43878000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8880
push 0
push -1
push 2
push 1082130432 ; 40800000H
push 1132953600 ; 43878000H
push 1131413504 ; 43700000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8881
jmp $L9154
$L9177:
; Line 8883
push 0
push -1
push 2
push 1087373312 ; 40d00000H
push 1135149056 ; 43a90000H
push 1133543424 ; 43908000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
; Line 8884
jmp $L9154
$L9178:
; Line 8887
mov DWORD PTR _flags$9179[ebp], 25165824 ; 01800000H
; Line 8888
lea ecx, DWORD PTR _flags$9179[ebp]
push ecx
push 51 ; 00000033H
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8889
mov DWORD PTR _flags$9179[ebp], 256 ; 00000100H
; Line 8890
lea eax, DWORD PTR _flags$9179[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8892
mov DWORD PTR _vel$9180[ebp], 0
mov DWORD PTR _vel$9180[ebp+4], 0
mov DWORD PTR _vel$9180[ebp+8], 0
; Line 8893
push 0
lea edx, DWORD PTR _vel$9180[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8895
mov DWORD PTR _circle_dist$9181[ebp], -1082130432 ; bf800000H
; Line 8896
lea ecx, DWORD PTR _circle_dist$9181[ebp]
push ecx
push 7
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8898
push -1
push -1
push 0
push 1097859072 ; 41700000H
push 1143111680 ; 44228000H
push 1140293632 ; 43f78000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L9182:
$L9154:
; Line 8905
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+8], 0
; Line 8906
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx+4], dl
; Line 8907
mov esp, ebp
pop ebp
ret 8
$L11494:
DD $L9167
DD $L9173
DD $L9170
DD $L9176
DD $L9177
DD $L9178
DD $L9157
$L11495:
DD $L9163
DD $L9164
DD $L9165
DD $L9166
?SetMode@Hellion@@AAEXHD@Z ENDP ; Hellion::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Hellion@@AAEXH@Z ; Hellion::DoInit
_DATA SEGMENT
ORG $+3
$SG9190 DB 'Hellionhead', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Hellion@@AAEXH@Z PROC NEAR ; Hellion::DoInit
; Line 8910
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 8912
mov WORD PTR _ch$[ebp+8], 4
; Line 8913
mov DWORD PTR _ch$[ebp+12], 12 ; 0000000cH
; Line 8914
mov DWORD PTR _ch$[ebp], 0
; Line 8915
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 8917
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 8918
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx], 0
; Line 8919
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+4], 0
; Line 8921
push 1
push 1
push 0
push 0
push 2
push OFFSET FLAT:$SG9190
mov ecx, DWORD PTR _me$[ebp]
push ecx
call ?CreateAndAttach@@YAHHPADEDD_N1@Z ; CreateAndAttach
add esp, 28 ; 0000001cH
; Line 8922
push 1065353216 ; 3f800000H
push 1092616192 ; 41200000H
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?RemapAlert@Hellion@@AAEXHMMM@Z ; Hellion::RemapAlert
; Line 8924
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
; Line 8925
mov esp, ebp
pop ebp
ret 4
?DoInit@Hellion@@AAEXH@Z ENDP ; Hellion::DoInit
_TEXT ENDS
PUBLIC __real@4@4007bb80000000000000
PUBLIC __real@4@4007c000000000000000
PUBLIC __real@4@400a9c40000000000000
PUBLIC __real@4@4007b880000000000000
PUBLIC __real@4@40099c40000000000000
PUBLIC __real@4@4007c300000000000000
PUBLIC __real@4@4007c800000000000000
PUBLIC ?DoFrame@Hellion@@AAEXH@Z ; Hellion::DoFrame
_DATA SEGMENT
$SG9200 DB 'Mode is %d', 0aH, 00H
_DATA ENDS
; COMDAT __real@4@4007bb80000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4007bb80000000000000 DD 043bb8000r ; 375
CONST ENDS
; COMDAT __real@4@4007c000000000000000
CONST SEGMENT
__real@4@4007c000000000000000 DD 043c00000r ; 384
CONST ENDS
; COMDAT __real@4@400a9c40000000000000
CONST SEGMENT
__real@4@400a9c40000000000000 DD 0451c4000r ; 2500
CONST ENDS
; COMDAT __real@4@4007b880000000000000
CONST SEGMENT
__real@4@4007b880000000000000 DD 043b88000r ; 369
CONST ENDS
; COMDAT __real@4@40099c40000000000000
CONST SEGMENT
__real@4@40099c40000000000000 DD 0449c4000r ; 1250
CONST ENDS
; COMDAT __real@4@4007c300000000000000
CONST SEGMENT
__real@4@4007c300000000000000 DD 043c30000r ; 390
CONST ENDS
; COMDAT __real@4@4007c800000000000000
CONST SEGMENT
__real@4@4007c800000000000000 DD 043c80000r ; 400
CONST ENDS
_TEXT SEGMENT
_flags$9219 = -32
_flags$9225 = -36
_flags$9231 = -40
_offset$9236 = -44
_me$ = 8
_this$ = -48
_flags$ = -4
_frame$ = -16
_shields$ = -12
_anim_type$ = -8
_f_ok_to_animate$ = -20
_flags$9207 = -24
_awareness$9208 = -28
?DoFrame@Hellion@@AAEXH@Z PROC NEAR ; Hellion::DoFrame
; File aigame.cpp
; Line 8928
push ebp
mov ebp, esp
sub esp, 52 ; 00000034H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 8934
lea eax, DWORD PTR _anim_type$[ebp]
push eax
push 15 ; 0000000fH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8936
movsx edx, BYTE PTR _anim_type$[ebp]
cmp edx, 27 ; 0000001bH
je SHORT $L11498
movsx eax, BYTE PTR _anim_type$[ebp]
cmp eax, 6
je SHORT $L11498
movsx ecx, BYTE PTR _anim_type$[ebp]
cmp ecx, 8
je SHORT $L11498
mov DWORD PTR -52+[ebp], 1
jmp SHORT $L11499
$L11498:
mov DWORD PTR -52+[ebp], 0
$L11499:
mov dl, BYTE PTR -52+[ebp]
mov BYTE PTR _f_ok_to_animate$[ebp], dl
; Line 8938
push 0
lea eax, DWORD PTR _flags$[ebp]
push eax
push 10 ; 0000000aH
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8939
push 0
lea edx, DWORD PTR _frame$[ebp]
push edx
push 18 ; 00000012H
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8940
push 0
lea ecx, DWORD PTR _shields$[ebp]
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 8942
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+4]
push edx
push OFFSET FLAT:$SG9200
push 0
call DWORD PTR ?mprintf@@3P6AXHPADZZA ; mprintf
add esp, 12 ; 0000000cH
; Line 8944
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+4]
cmp edx, 7
je SHORT $L9202
mov eax, DWORD PTR _flags$[ebp]
and eax, 8388608 ; 00800000H
test eax, eax
je SHORT $L9202
; Line 8946
mov ecx, DWORD PTR _f_ok_to_animate$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L9202
; Line 8948
push 7
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9202:
; Line 8952
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+4]
test edx, edx
jne SHORT $L9203
; Line 8955
jmp $L9234
$L9203:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+4]
cmp edx, 1
jne SHORT $L9205
; Line 8957
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
je SHORT $L9206
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
jne SHORT $L9206
; Line 8959
mov DWORD PTR _flags$9207[ebp], 536871936 ; 20000400H
; Line 8960
lea eax, DWORD PTR _flags$9207[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 8962
mov DWORD PTR _awareness$9208[ebp], 1120403456 ; 42c80000H
; Line 8963
lea edx, DWORD PTR _awareness$9208[ebp]
push edx
push 50 ; 00000032H
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9206:
; Line 8966
jmp $L9234
$L9205:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 8
jne SHORT $L9210
; Line 8968
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@00000000000000000000
fnstsw ax
test ah, 1
jne SHORT $L9211
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9211
; Line 8970
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx+5]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9211:
; Line 8973
jmp $L9234
$L9210:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+4]
cmp ecx, 7
jne SHORT $L9213
; Line 8975
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+8]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
je SHORT $L9214
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 1
jne SHORT $L9214
; Line 8977
push 1065353216 ; 3f800000H
push 1232348160 ; 49742400H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Burning@@3P6AXHMM@ZA ; Obj_Burning
add esp, 12 ; 0000000cH
$L9214:
; Line 8980
cmp DWORD PTR _frame$[ebp], 1143111680 ; 44228000H
jne SHORT $L9215
; Line 8982
push 0
push 0
push 68320 ; 00010ae0H
push 1148846080 ; 447a0000H
push -1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Kill@@3P6AXHHMHMM@ZA ; Obj_Kill
add esp, 24 ; 00000018H
$L9215:
; Line 8985
jmp $L9234
$L9213:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 2
jne SHORT $L9217
; Line 8987
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007bb80000000000000
fnstsw ax
test ah, 1
jne SHORT $L9218
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007c000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9218
; Line 8989
mov DWORD PTR _flags$9219[ebp], 8388608 ; 00800000H
; Line 8990
lea ecx, DWORD PTR _flags$9219[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9218:
; Line 8993
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR __real@4@400a9c40000000000000
fnstsw ax
test ah, 1
je SHORT $L9221
; Line 8995
mov eax, DWORD PTR _f_ok_to_animate$[ebp]
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L9221
; Line 8997
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9221:
; Line 9001
jmp $L9234
$L9217:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax+4]
cmp ecx, 4
jne SHORT $L9223
; Line 9003
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007b400000000000000
fnstsw ax
test ah, 1
jne SHORT $L9224
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007b880000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9224
; Line 9005
mov DWORD PTR _flags$9225[ebp], 8388608 ; 00800000H
; Line 9006
lea edx, DWORD PTR _flags$9225[ebp]
push edx
push 51 ; 00000033H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9224:
; Line 9009
fld DWORD PTR _shields$[ebp]
fcomp DWORD PTR __real@4@40099c40000000000000
fnstsw ax
test ah, 1
je SHORT $L9227
; Line 9011
mov ecx, DWORD PTR _f_ok_to_animate$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L9227
; Line 9013
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9227:
; Line 9017
jmp $L9234
$L9223:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx+4]
cmp edx, 3
jne SHORT $L9229
; Line 9019
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007c300000000000000
fnstsw ax
test ah, 1
jne SHORT $L9230
fld DWORD PTR _frame$[ebp]
fcomp DWORD PTR __real@4@4007c800000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9230
; Line 9021
mov DWORD PTR _flags$9231[ebp], 8388608 ; 00800000H
; Line 9022
lea eax, DWORD PTR _flags$9231[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9230:
; Line 9030
jmp $L9234
$L9229:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+8]
fcomp DWORD PTR __real@4@4003a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9234
; Line 9032
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 2
je SHORT $L9235
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 3
je SHORT $L9235
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 4
je SHORT $L9235
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
cmp eax, 5
jne SHORT $L9234
$L9235:
; Line 9034
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx+4]
sub eax, 1
and eax, -2147483645 ; 80000003H
jns SHORT $L11514
dec eax
or eax, -4 ; fffffffcH
inc eax
$L11514:
mov DWORD PTR _offset$9236[ebp], eax
; Line 9035
mov ecx, DWORD PTR _offset$9236[ebp]
add ecx, 2
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Hellion@@AAEXHD@Z ; Hellion::SetMode
$L9234:
; Line 9039
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+8]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 9040
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Hellion@@AAEXH@Z ENDP ; Hellion::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Hellion@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Hellion::CallEvent
; Line 9043
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 9045
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9243
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11516[eax]
jmp DWORD PTR $L11517[edx*4]
$L9246:
; Line 9047
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Hellion@@AAEXH@Z ; Hellion::DoInit
; Line 9048
jmp SHORT $L9243
$L9247:
; Line 9050
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Hellion@@AAEXH@Z ; Hellion::DoFrame
; Line 9051
jmp SHORT $L9243
$L9248:
; Line 9053
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Hellion@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Hellion::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9241
$L9249:
; Line 9057
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9243:
; Line 9061
mov ax, 257 ; 00000101H
$L9241:
; Line 9062
mov esp, ebp
pop ebp
ret 8
$L11517:
DD $L9247
DD $L9248
DD $L9246
DD $L9249
DD $L9243
$L11516:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Hellion@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Hellion::CallEvent
_TEXT ENDS
PUBLIC ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_command$ = 16
_ptr$ = 20
_this$ = -40
_com$ = -8
_ei$ = -36
?SendCommand@MantaRay@@AAE_NHHDPAX@Z PROC NEAR ; MantaRay::SendCommand
; Line 9069
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 9072
mov al, BYTE PTR _command$[ebp]
mov BYTE PTR _com$[ebp], al
; Line 9073
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR _com$[ebp+4], ecx
; Line 9077
mov edx, DWORD PTR _it$[ebp]
mov DWORD PTR _ei$[ebp+20], edx
; Line 9078
lea eax, DWORD PTR _command$[ebp]
mov DWORD PTR _ei$[ebp+24], eax
; Line 9079
mov DWORD PTR _ei$[ebp], 16 ; 00000010H
; Line 9080
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ei$[ebp+4], ecx
; Line 9082
lea edx, DWORD PTR _ei$[ebp]
push edx
push 272 ; 00000110H
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
; Line 9083
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?SendCommand@MantaRay@@AAE_NHHDPAX@Z ENDP ; MantaRay::SendCommand
_TEXT ENDS
PUBLIC ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
PUBLIC ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
PUBLIC ?ReceiveCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::ReceiveCommand
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_command$ = 16
_ptr$ = 20
_this$ = -536
_i$9276 = -4
_goal_pos$9281 = -16
_orient$9282 = -52
$T11520 = -64
$T11521 = -76
$T11522 = -88
$T11523 = -100
$T11524 = -112
$T11525 = -124
$T11526 = -136
$T11527 = -148
$T11528 = -160
$T11529 = -172
$T11530 = -184
$T11531 = -196
$T11532 = -208
$T11533 = -220
$T11534 = -232
$T11535 = -244
$T11536 = -256
$T11537 = -268
$T11538 = -280
$T11539 = -292
$T11540 = -304
$T11541 = -316
$T11542 = -328
$T11543 = -340
$T11544 = -352
$T11545 = -364
$T11546 = -376
$T11547 = -388
$T11548 = -400
$T11549 = -412
$T11550 = -424
$T11551 = -436
$T11552 = -448
$T11553 = -460
$T11554 = -472
$T11555 = -484
$T11556 = -496
$T11557 = -508
$T11558 = -520
$T11559 = -532
?ReceiveCommand@MantaRay@@AAE_NHHDPAX@Z PROC NEAR ; MantaRay::ReceiveCommand
; Line 9086
push ebp
mov ebp, esp
sub esp, 544 ; 00000220H
mov DWORD PTR _this$[ebp], ecx
; Line 9088
movsx eax, BYTE PTR _command$[ebp]
mov DWORD PTR -540+[ebp], eax
mov ecx, DWORD PTR -540+[ebp]
sub ecx, 11 ; 0000000bH
mov DWORD PTR -540+[ebp], ecx
cmp DWORD PTR -540+[ebp], 4
ja $L9269
mov edx, DWORD PTR -540+[ebp]
jmp DWORD PTR $L11560[edx*4]
$L9272:
; Line 9091
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+20], 0
jne SHORT $L9273
; Line 9093
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _it$[ebp]
mov DWORD PTR [eax+28], ecx
; Line 9094
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
or ecx, 2
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], ecx
; Line 9096
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
; Line 9098
mov al, 1
jmp $L9267
$L9273:
; Line 9101
jmp $L9269
$L9275:
; Line 9107
mov DWORD PTR _i$9276[ebp], 0
jmp SHORT $L9277
$L9278:
mov edx, DWORD PTR _i$9276[ebp]
add edx, 1
mov DWORD PTR _i$9276[ebp], edx
$L9277:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$9276[ebp]
cmp edx, DWORD PTR [ecx+32]
jge $L9279
; Line 9109
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$9276[ebp]
mov eax, DWORD PTR [ecx+edx*4+36]
cmp eax, DWORD PTR _it$[ebp]
jne $L9280
; Line 9113
push 0
lea ecx, DWORD PTR _goal_pos$9281[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9114
push 0
lea eax, DWORD PTR _orient$9282[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9117
mov edx, DWORD PTR _i$9276[ebp]
mov DWORD PTR -544+[ebp], edx
cmp DWORD PTR -544+[ebp], 3
ja $L9284
mov eax, DWORD PTR -544+[ebp]
jmp DWORD PTR $L11561[eax*4]
$L9287:
; Line 9119
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$9282[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$9282[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$9282[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11522[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11521[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11521[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11521[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11521[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11521[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11521[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11523[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11520[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11520[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11520[ebp+8], edx
; Line 9120
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11526[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11525[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11525[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11525[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11525[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11525[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11525[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11527[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11524[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11524[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11524[ebp+8], edx
; Line 9121
jmp $L9284
$L9292:
; Line 9123
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11530[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11529[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11529[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11529[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11529[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11529[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11529[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11531[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11528[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11528[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11528[ebp+8], edx
; Line 9124
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11534[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11533[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11533[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11533[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11533[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11533[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11533[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11535[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11532[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11532[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11532[ebp+8], edx
; Line 9125
jmp $L9284
$L9297:
; Line 9127
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11539[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11538[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11538[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11538[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11538[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11538[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11538[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11540[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11537[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11537[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11537[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11537[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11537[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11537[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11541[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11536[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11536[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11536[ebp+8], edx
; Line 9128
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11545[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11544[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11544[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11544[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11544[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11544[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11544[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11546[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11543[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11543[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11543[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11543[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11543[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11543[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11547[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11542[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11542[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11542[ebp+8], edx
; Line 9129
jmp $L9284
$L9304:
; Line 9131
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11551[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11550[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11550[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11550[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11550[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11550[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11550[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11552[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11549[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11549[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11549[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11549[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11549[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11549[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11553[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11548[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11548[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11548[ebp+8], edx
; Line 9132
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9282[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9282[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9282[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11557[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11556[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11556[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11556[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11556[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11556[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11556[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11558[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11555[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11555[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11555[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11555[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11555[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11555[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9281[ebp]
push eax
lea ecx, DWORD PTR $T11559[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11554[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11554[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11554[ebp+8], edx
$L9284:
; Line 9136
mov eax, DWORD PTR _ptr$[ebp]
mov ecx, DWORD PTR _goal_pos$9281[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _goal_pos$9281[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _goal_pos$9281[ebp+8]
mov DWORD PTR [eax+8], ecx
; Line 9137
mov al, 1
jmp SHORT $L9267
$L9280:
; Line 9139
jmp $L9278
$L9279:
; Line 9141
jmp SHORT $L9269
$L9312:
; Line 9144
push 0
mov edx, DWORD PTR _ptr$[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9145
mov al, 1
jmp SHORT $L9267
$L9314:
; Line 9150
mov al, 1
jmp SHORT $L9267
$L9269:
; Line 9156
xor al, al
$L9267:
; Line 9157
mov esp, ebp
pop ebp
ret 16 ; 00000010H
$L11560:
DD $L9272
DD $L9269
DD $L9275
DD $L9312
DD $L9314
$L11561:
DD $L9287
DD $L9292
DD $L9297
DD $L9304
?ReceiveCommand@MantaRay@@AAE_NHHDPAX@Z ENDP ; MantaRay::ReceiveCommand
_TEXT ENDS
; COMDAT ??Z@YA?AUvector@@AAU0@U0@@Z
_TEXT SEGMENT
_a$ = 12
_b$ = 16
$T11563 = 8
$T11564 = -12
$T11565 = -24
??Z@YA?AUvector@@AAU0@U0@@Z PROC NEAR ; operator-=, COMDAT
; File ../../main/lib/vecmat_external.h
; Line 151
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
; Line 152
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _b$[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _b$[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _b$[ebp+8]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, DWORD PTR _a$[ebp]
mov eax, esp
mov ecx, DWORD PTR [edx]
mov DWORD PTR [eax], ecx
mov ecx, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], ecx
mov edx, DWORD PTR [edx+8]
mov DWORD PTR [eax+8], edx
lea eax, DWORD PTR $T11565[ebp]
push eax
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11564[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11564[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11564[ebp+8], eax
mov ecx, DWORD PTR _a$[ebp]
mov edx, DWORD PTR $T11564[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11564[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11564[ebp+8]
mov DWORD PTR [ecx+8], edx
mov eax, DWORD PTR $T11563[ebp]
mov ecx, DWORD PTR $T11564[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11564[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11564[ebp+8]
mov DWORD PTR [eax+8], ecx
mov eax, DWORD PTR $T11563[ebp]
; Line 153
mov esp, ebp
pop ebp
ret 0
??Z@YA?AUvector@@AAU0@U0@@Z ENDP ; operator-=
_TEXT ENDS
PUBLIC ?UpdateSquadList@MantaRay@@AAEXH@Z ; MantaRay::UpdateSquadList
_TEXT SEGMENT
_this$ = -16
_i$ = -4
_type$9323 = -8
_j$9324 = -12
?UpdateSquadList@MantaRay@@AAEXH@Z PROC NEAR ; MantaRay::UpdateSquadList
; File aigame.cpp
; Line 9160
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 9163
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L9320
$L9321:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L9320:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR [edx+32]
jge $L9322
; Line 9168
push 0
lea ecx, DWORD PTR _type$9323[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR [eax+ecx*4+36]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9169
cmp DWORD PTR _type$9323[ebp], 255 ; 000000ffH
jne SHORT $L9325
; Line 9171
mov eax, DWORD PTR _i$[ebp]
mov DWORD PTR _j$9324[ebp], eax
jmp SHORT $L9326
$L9327:
mov ecx, DWORD PTR _j$9324[ebp]
add ecx, 1
mov DWORD PTR _j$9324[ebp], ecx
$L9326:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+32]
sub ecx, 1
cmp DWORD PTR _j$9324[ebp], ecx
jge SHORT $L9328
; Line 9173
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _j$9324[ebp]
mov esi, DWORD PTR _j$9324[ebp]
mov eax, DWORD PTR [eax+esi*4+40]
mov DWORD PTR [edx+ecx*4+36], eax
; Line 9174
jmp SHORT $L9327
$L9328:
; Line 9176
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+32]
sub eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+32], eax
; Line 9177
mov eax, DWORD PTR _i$[ebp]
sub eax, 1
mov DWORD PTR _i$[ebp], eax
$L9325:
; Line 9179
jmp $L9321
$L9322:
; Line 9180
pop esi
mov esp, ebp
pop ebp
ret 4
?UpdateSquadList@MantaRay@@AAEXH@Z ENDP ; MantaRay::UpdateSquadList
_TEXT ENDS
PUBLIC ?UpdateSquad@MantaRay@@AAEXH@Z ; MantaRay::UpdateSquad
_TEXT SEGMENT
_me$ = 8
_this$ = -144
_scan_objs$ = -104
_n_scan$ = -4
_room$ = -112
_pos$ = -124
_i$ = -108
_id$9345 = -128
_type$9347 = -132
_f_on_team$9349 = -136
_j$9351 = -140
?UpdateSquad@MantaRay@@AAEXH@Z PROC NEAR ; MantaRay::UpdateSquad
; Line 9183
push ebp
mov ebp, esp
sub esp, 144 ; 00000090H
mov DWORD PTR _this$[ebp], ecx
; Line 9184
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 2
test edx, edx
je SHORT $L9333
; Line 9185
jmp $L9332
$L9333:
; Line 9187
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 1
test edx, edx
je SHORT $L9336
; Line 9189
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?UpdateSquadList@MantaRay@@AAEXH@Z ; MantaRay::UpdateSquadList
; Line 9191
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+32], 0
jne SHORT $L9335
; Line 9192
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, -2 ; fffffffeH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+20], edx
$L9335:
; Line 9194
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+32], 4
jl SHORT $L9336
; Line 9195
jmp $L9332
$L9336:
; Line 9204
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9205
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9207
push 1
push 0
push 1
push 0
push 25 ; 00000019H
lea edx, DWORD PTR _scan_objs$[ebp]
push edx
push 1128792064 ; 43480000H
mov eax, DWORD PTR _room$[ebp]
push eax
lea ecx, DWORD PTR _pos$[ebp]
push ecx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$[ebp], eax
; Line 9209
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L9342
$L9343:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L9342:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR _n_scan$[ebp]
jge $L9344
; Line 9212
push 0
lea ecx, DWORD PTR _id$9345[ebp]
push ecx
push 2
push 1
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9215
mov ecx, DWORD PTR _id$9345[ebp]
and ecx, 65535 ; 0000ffffH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor edx, edx
mov dx, WORD PTR [eax+24]
cmp ecx, edx
jne $L9357
; Line 9218
push 0
lea eax, DWORD PTR _type$9347[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9219
cmp DWORD PTR _type$9347[ebp], 2
jne $L9357
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _scan_objs$[ebp+eax*4]
cmp ecx, DWORD PTR _me$[ebp]
je $L9357
; Line 9221
mov BYTE PTR _f_on_team$9349[ebp], 0
; Line 9222
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
and ecx, 1
test ecx, ecx
je SHORT $L9354
; Line 9225
mov DWORD PTR _j$9351[ebp], 0
jmp SHORT $L9352
$L9353:
mov edx, DWORD PTR _j$9351[ebp]
add edx, 1
mov DWORD PTR _j$9351[ebp], edx
$L9352:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _j$9351[ebp]
cmp edx, DWORD PTR [ecx+32]
jge SHORT $L9354
; Line 9227
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _j$9351[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+edx*4]
cmp edx, DWORD PTR [ecx+eax*4+36]
jne SHORT $L9355
; Line 9229
mov BYTE PTR _f_on_team$9349[ebp], 1
; Line 9230
jmp SHORT $L9354
$L9355:
; Line 9232
jmp SHORT $L9353
$L9354:
; Line 9235
mov eax, DWORD PTR _f_on_team$9349[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne SHORT $L9357
; Line 9237
push 0
push 11 ; 0000000bH
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L9357
; Line 9239
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
or al, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], eax
; Line 9240
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+32]
mov eax, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+eax*4]
mov DWORD PTR [ecx+edx*4+36], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+32]
add eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+32], eax
$L9357:
; Line 9246
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+32], 4
jl SHORT $L9358
; Line 9247
jmp SHORT $L9332
$L9358:
; Line 9248
jmp $L9343
$L9344:
$L9332:
; Line 9249
mov esp, ebp
pop ebp
ret 4
?UpdateSquad@MantaRay@@AAEXH@Z ENDP ; MantaRay::UpdateSquad
_TEXT ENDS
PUBLIC ?DoInit@MantaRay@@AAEXH@Z ; MantaRay::DoInit
_DATA SEGMENT
$SG9368 DB 'Manta Ray', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@MantaRay@@AAEXH@Z PROC NEAR ; MantaRay::DoInit
; Line 9252
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 9254
mov WORD PTR _ch$[ebp+8], 4
; Line 9255
mov DWORD PTR _ch$[ebp+12], 72 ; 00000048H
; Line 9256
mov DWORD PTR _ch$[ebp], 0
; Line 9257
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 9259
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 9261
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9262
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR __real@4@3fffe666660000000000
fmul DWORD PTR [ecx+12]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+16]
; Line 9264
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], 0
; Line 9265
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+28], -1
; Line 9266
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+32], 0
; Line 9269
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -24+[ebp]
call _rand
mov DWORD PTR -28+[ebp], eax
fild DWORD PTR -28+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@3ffe8000000000000000
fadd DWORD PTR -24+[ebp]
fadd DWORD PTR __real@4@3ffbcccccd0000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+52]
; Line 9271
push OFFSET FLAT:$SG9368
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+24], ax
; Line 9273
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
; Line 9274
mov esp, ebp
pop ebp
ret 4
?DoInit@MantaRay@@AAEXH@Z ENDP ; MantaRay::DoInit
_me$ = 8
_mode$ = 12
_this$ = -64
_f_attack_flags$ = -4
_cd$9376 = -8
_pos$9383 = -28
_room$9384 = -16
_dist$9385 = -12
_dist$9387 = -36
_g_index$9390 = -32
_pos$9392 = -60
_room$9393 = -48
_dist$9395 = -44
_g_index$9396 = -40
?SetMode@MantaRay@@AAEXHD@Z PROC NEAR ; MantaRay::SetMode
; Line 9277
push ebp
mov ebp, esp
sub esp, 72 ; 00000048H
mov DWORD PTR _this$[ebp], ecx
; Line 9278
mov DWORD PTR _f_attack_flags$[ebp], 33554688 ; 02000100H
; Line 9279
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 9281
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
and eax, 2
test eax, eax
je $L9375
; Line 9284
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 56 ; 00000038H
push edx
push 13 ; 0000000dH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+28]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
; Line 9285
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 56 ; 00000038H
push edx
push 12 ; 0000000cH
push 0
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9286
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 68 ; 00000044H
push edx
push 14 ; 0000000eH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+28]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
; Line 9287
push 0
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 68 ; 00000044H
push edx
push 6
push 0
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9289
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+68]
push eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 56 ; 00000038H
push edx
push 4100 ; 00001004H
push -1
push 1065353216 ; 3f800000H
push 2
push 1048576 ; 00100000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9290
mov DWORD PTR _cd$9376[ebp], 1036831949 ; 3dcccccdH
; Line 9291
push 0
lea ecx, DWORD PTR _cd$9376[ebp]
push ecx
push 26 ; 0000001aH
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9293
jmp SHORT $L9377
$L9375:
; Line 9295
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9377:
; Line 9299
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -68+[ebp], al
cmp BYTE PTR -68+[ebp], 0
je SHORT $L9382
cmp BYTE PTR -68+[ebp], 1
je SHORT $L9386
cmp BYTE PTR -68+[ebp], 2
je $L9391
jmp $L9379
$L9382:
; Line 9303
mov DWORD PTR _room$9384[ebp], 0
; Line 9304
mov DWORD PTR _dist$9385[ebp], 1097859072 ; 41700000H
; Line 9306
lea ecx, DWORD PTR _f_attack_flags$[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9307
mov eax, DWORD PTR _room$9384[ebp]
push eax
lea ecx, DWORD PTR _pos$9383[ebp]
push ecx
push 4108 ; 0000100cH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9308
push 0
lea eax, DWORD PTR _dist$9385[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9310
jmp $L9379
$L9386:
; Line 9314
lea edx, DWORD PTR _f_attack_flags$[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9318
call _rand
mov DWORD PTR -72+[ebp], eax
fild DWORD PTR -72+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR __real@4@4004f000000000000000
fstp DWORD PTR _dist$9387[ebp]
; Line 9319
push -1
push 4245 ; 00001095H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 9320
push 0
lea edx, DWORD PTR _dist$9387[ebp]
push edx
push 26 ; 0000001aH
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9322
mov DWORD PTR _dist$9387[ebp], 1092616192 ; 41200000H
; Line 9323
push -1
push 4117 ; 00001015H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$9390[ebp], eax
; Line 9324
push 0
lea edx, DWORD PTR _dist$9387[ebp]
push edx
push 26 ; 0000001aH
push 0
mov al, BYTE PTR _g_index$9390[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9326
jmp $L9379
$L9391:
; Line 9331
mov DWORD PTR _room$9393[ebp], 0
; Line 9333
lea edx, DWORD PTR _f_attack_flags$[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9335
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
and eax, 2
test eax, eax
jne SHORT $L9394
; Line 9337
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 16 ; 00000010H
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9394:
; Line 9340
push 0
lea ecx, DWORD PTR _pos$9392[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9341
push 0
lea eax, DWORD PTR _room$9393[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9343
mov DWORD PTR _dist$9395[ebp], 1092616192 ; 41200000H
; Line 9345
mov edx, DWORD PTR _room$9393[ebp]
push edx
lea eax, DWORD PTR _pos$9392[ebp]
push eax
push 4109 ; 0000100dH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9346
push 0
lea edx, DWORD PTR _dist$9395[ebp]
push edx
push 26 ; 0000001aH
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9348
push -1
push 4117 ; 00001015H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$9396[ebp], eax
; Line 9349
push 0
lea edx, DWORD PTR _dist$9395[ebp]
push edx
push 26 ; 0000001aH
push 0
mov al, BYTE PTR _g_index$9396[ebp]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
$L9379:
; Line 9354
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR [eax], cl
; Line 9355
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], 0
; Line 9356
mov esp, ebp
pop ebp
ret 8
?SetMode@MantaRay@@AAEXHD@Z ENDP ; MantaRay::SetMode
_TEXT ENDS
PUBLIC __real@4@3ffceb851f0000000000
PUBLIC ?DoSquadieFrame@MantaRay@@AAEXH@Z ; MantaRay::DoSquadieFrame
; COMDAT __real@4@3ffceb851f0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffceb851f0000000000 DD 03e6b851fr ; 0.23
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -44
_type$ = -24
_cd$ = -20
_my_pos$ = -16
_dist$ = -4
_catchup_speed$9407 = -32
_scaled_speed$9408 = -28
_catchup_speed$9411 = -40
_scaled_speed$9412 = -36
?DoSquadieFrame@MantaRay@@AAEXH@Z PROC NEAR ; MantaRay::DoSquadieFrame
; File aigame.cpp
; Line 9359
push ebp
mov ebp, esp
sub esp, 44 ; 0000002cH
mov DWORD PTR _this$[ebp], ecx
; Line 9361
push 0
lea eax, DWORD PTR _type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+28]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9364
cmp DWORD PTR _type$[ebp], 255 ; 000000ffH
jne SHORT $L9402
; Line 9367
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9369
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], 0
; Line 9370
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+28], -1
; Line 9372
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
; Line 9373
jmp $L9400
$L9402:
; Line 9377
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 13 ; 0000000dH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
; Line 9378
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 12 ; 0000000cH
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9379
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 14 ; 0000000eH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::SendCommand
; Line 9380
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 6
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9382
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+68]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 4100 ; 00001004H
push -1
push 1065353216 ; 3f800000H
push 2
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9383
mov DWORD PTR _cd$[ebp], 1036831949 ; 3dcccccdH
; Line 9384
push 0
lea eax, DWORD PTR _cd$[ebp]
push eax
push 26 ; 0000001aH
push 0
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9387
push 0
lea edx, DWORD PTR _my_pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9389
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 56 ; 00000038H
push edx
lea eax, DWORD PTR _my_pos$[ebp]
push eax
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dist$[ebp]
; Line 9391
fld DWORD PTR _dist$[ebp]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9406
; Line 9394
lea ecx, DWORD PTR _catchup_speed$9407[ebp]
push ecx
push 0
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9396
fld DWORD PTR _dist$[ebp]
fdiv DWORD PTR __real@4@4001a000000000000000
fmul DWORD PTR __real@4@3ffceb851f0000000000
fmul DWORD PTR _catchup_speed$9407[ebp]
fstp DWORD PTR _scaled_speed$9408[ebp]
; Line 9397
fld DWORD PTR _catchup_speed$9407[ebp]
fadd DWORD PTR _scaled_speed$9408[ebp]
fstp DWORD PTR _catchup_speed$9407[ebp]
; Line 9399
lea edx, DWORD PTR _catchup_speed$9407[ebp]
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9401
jmp SHORT $L9410
$L9406:
fld DWORD PTR _dist$[ebp]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9410
; Line 9404
lea ecx, DWORD PTR _catchup_speed$9411[ebp]
push ecx
push 0
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9406
fld DWORD PTR __real@4@3ffceb851f0000000000
fmul DWORD PTR _catchup_speed$9411[ebp]
fstp DWORD PTR _scaled_speed$9412[ebp]
; Line 9407
fld DWORD PTR _catchup_speed$9411[ebp]
fadd DWORD PTR _scaled_speed$9412[ebp]
fstp DWORD PTR _catchup_speed$9411[ebp]
; Line 9409
lea edx, DWORD PTR _catchup_speed$9411[ebp]
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9410:
$L9400:
; Line 9415
mov esp, ebp
pop ebp
ret 4
?DoSquadieFrame@MantaRay@@AAEXH@Z ENDP ; MantaRay::DoSquadieFrame
_TEXT ENDS
PUBLIC __real@4@4001b000000000000000
PUBLIC ?DoFrame@MantaRay@@AAEXH@Z ; MantaRay::DoFrame
; COMDAT __real@4@4001b000000000000000
; File aigame.cpp
CONST SEGMENT
__real@4@4001b000000000000000 DD 040b00000r ; 5.5
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -8
_last_see_target_time$ = -4
?DoFrame@MantaRay@@AAEXH@Z PROC NEAR ; MantaRay::DoFrame
; File aigame.cpp
; Line 9418
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 9420
lea eax, DWORD PTR _last_see_target_time$[ebp]
push eax
push 25 ; 00000019H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9423
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+52]
fnstsw ax
test ah, 1
jne SHORT $L9418
; Line 9426
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -12+[ebp]
call _rand
mov DWORD PTR -16+[ebp], eax
fild DWORD PTR -16+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -12+[ebp]
fadd DWORD PTR __real@4@4000c000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+52]
; Line 9427
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?UpdateSquad@MantaRay@@AAEXH@Z ; MantaRay::UpdateSquad
$L9418:
; Line 9431
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 2
test edx, edx
je SHORT $L9421
; Line 9433
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?DoSquadieFrame@MantaRay@@AAEXH@Z ; MantaRay::DoSquadieFrame
$L9421:
; Line 9451
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx]
mov BYTE PTR -20+[ebp], al
cmp BYTE PTR -20+[ebp], 0
je $L9431
cmp BYTE PTR -20+[ebp], 1
je SHORT $L9426
cmp BYTE PTR -20+[ebp], 2
je SHORT $L9428
jmp $L9423
$L9426:
; Line 9455
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L9427
; Line 9456
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
$L9427:
; Line 9461
jmp SHORT $L9423
$L9428:
; Line 9466
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L9429
; Line 9467
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
$L9429:
; Line 9469
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+4]
fcomp DWORD PTR __real@4@4001b000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9430
; Line 9470
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
$L9430:
; Line 9472
jmp SHORT $L9423
$L9431:
; Line 9477
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9432
; Line 9478
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
$L9432:
$L9423:
; Line 9483
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+4]
; Line 9484
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@MantaRay@@AAEXH@Z ENDP ; MantaRay::DoFrame
_TEXT ENDS
PUBLIC ?DoNotify@MantaRay@@AAE_NHPAUtOSIRISEventInfo@@@Z ; MantaRay::DoNotify
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -8
_com$9449 = -4
?DoNotify@MantaRay@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; MantaRay::DoNotify
; Line 9487
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 9488
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
add esp, 4
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L9438
; Line 9491
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR [eax]
mov BYTE PTR -12+[ebp], cl
cmp BYTE PTR -12+[ebp], 1
je SHORT $L9443
cmp BYTE PTR -12+[ebp], 2
je SHORT $L9445
jmp SHORT $L9440
$L9443:
; Line 9493
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx+8], 1
jne SHORT $L9444
; Line 9495
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
; Line 9496
xor al, al
jmp SHORT $L9437
$L9444:
; Line 9498
jmp SHORT $L9440
$L9445:
; Line 9500
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx+8], 1
jne SHORT $L9446
; Line 9502
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@MantaRay@@AAEXHD@Z ; MantaRay::SetMode
; Line 9503
xor al, al
jmp SHORT $L9437
$L9446:
$L9440:
; Line 9508
jmp SHORT $L9448
$L9438:
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax], 16 ; 00000010H
jne SHORT $L9448
; Line 9510
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+24]
mov DWORD PTR _com$9449[ebp], edx
; Line 9512
mov eax, DWORD PTR _com$9449[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
mov edx, DWORD PTR _com$9449[ebp]
mov al, BYTE PTR [edx]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?ReceiveCommand@MantaRay@@AAE_NHHDPAX@Z ; MantaRay::ReceiveCommand
jmp SHORT $L9437
$L9448:
; Line 9515
mov al, 1
$L9437:
; Line 9516
mov esp, ebp
pop ebp
ret 8
?DoNotify@MantaRay@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; MantaRay::DoNotify
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@MantaRay@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; MantaRay::CallEvent
; Line 9519
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 9521
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9457
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11578[eax]
jmp DWORD PTR $L11579[edx*4]
$L9460:
; Line 9523
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@MantaRay@@AAEXH@Z ; MantaRay::DoInit
; Line 9524
jmp SHORT $L9457
$L9461:
; Line 9526
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@MantaRay@@AAEXH@Z ; MantaRay::DoFrame
; Line 9527
jmp SHORT $L9457
$L9462:
; Line 9529
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@MantaRay@@AAE_NHPAUtOSIRISEventInfo@@@Z ; MantaRay::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9455
$L9463:
; Line 9533
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9457:
; Line 9537
mov ax, 257 ; 00000101H
$L9455:
; Line 9538
mov esp, ebp
pop ebp
ret 8
$L11579:
DD $L9461
DD $L9462
DD $L9460
DD $L9463
DD $L9457
$L11578:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@MantaRay@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; MantaRay::CallEvent
_TEXT ENDS
PUBLIC ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_command$ = 16
_ptr$ = 20
_this$ = -40
_com$ = -8
_ei$ = -36
?SendCommand@Skiff@@AAE_NHHDPAX@Z PROC NEAR ; Skiff::SendCommand
; Line 9545
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H
mov DWORD PTR _this$[ebp], ecx
; Line 9548
mov al, BYTE PTR _command$[ebp]
mov BYTE PTR _com$[ebp], al
; Line 9549
mov ecx, DWORD PTR _ptr$[ebp]
mov DWORD PTR _com$[ebp+4], ecx
; Line 9553
mov edx, DWORD PTR _it$[ebp]
mov DWORD PTR _ei$[ebp+20], edx
; Line 9554
lea eax, DWORD PTR _command$[ebp]
mov DWORD PTR _ei$[ebp+24], eax
; Line 9555
mov DWORD PTR _ei$[ebp], 16 ; 00000010H
; Line 9556
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _ei$[ebp+4], ecx
; Line 9558
lea edx, DWORD PTR _ei$[ebp]
push edx
push 272 ; 00000110H
mov eax, DWORD PTR _it$[ebp]
push eax
call DWORD PTR ?Obj_CallEvent@@3P6A_NHHPAUtOSIRISEventInfo@@@ZA ; Obj_CallEvent
add esp, 12 ; 0000000cH
; Line 9559
mov esp, ebp
pop ebp
ret 16 ; 00000010H
?SendCommand@Skiff@@AAE_NHHDPAX@Z ENDP ; Skiff::SendCommand
_TEXT ENDS
PUBLIC ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
PUBLIC ?ReceiveCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::ReceiveCommand
_TEXT SEGMENT
_me$ = 8
_it$ = 12
_command$ = 16
_ptr$ = 20
_this$ = -536
_i$9490 = -4
_goal_pos$9495 = -16
_orient$9496 = -52
$T11582 = -64
$T11583 = -76
$T11584 = -88
$T11585 = -100
$T11586 = -112
$T11587 = -124
$T11588 = -136
$T11589 = -148
$T11590 = -160
$T11591 = -172
$T11592 = -184
$T11593 = -196
$T11594 = -208
$T11595 = -220
$T11596 = -232
$T11597 = -244
$T11598 = -256
$T11599 = -268
$T11600 = -280
$T11601 = -292
$T11602 = -304
$T11603 = -316
$T11604 = -328
$T11605 = -340
$T11606 = -352
$T11607 = -364
$T11608 = -376
$T11609 = -388
$T11610 = -400
$T11611 = -412
$T11612 = -424
$T11613 = -436
$T11614 = -448
$T11615 = -460
$T11616 = -472
$T11617 = -484
$T11618 = -496
$T11619 = -508
$T11620 = -520
$T11621 = -532
?ReceiveCommand@Skiff@@AAE_NHHDPAX@Z PROC NEAR ; Skiff::ReceiveCommand
; Line 9562
push ebp
mov ebp, esp
sub esp, 544 ; 00000220H
mov DWORD PTR _this$[ebp], ecx
; Line 9564
movsx eax, BYTE PTR _command$[ebp]
mov DWORD PTR -540+[ebp], eax
mov ecx, DWORD PTR -540+[ebp]
sub ecx, 11 ; 0000000bH
mov DWORD PTR -540+[ebp], ecx
cmp DWORD PTR -540+[ebp], 4
ja $L9483
mov edx, DWORD PTR -540+[ebp]
jmp DWORD PTR $L11622[edx*4]
$L9486:
; Line 9567
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+20], 0
jne SHORT $L9487
; Line 9569
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _it$[ebp]
mov DWORD PTR [eax+28], ecx
; Line 9570
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
or ecx, 2
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], ecx
; Line 9572
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov al, BYTE PTR [edx]
push eax
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
; Line 9574
mov al, 1
jmp $L9481
$L9487:
; Line 9577
jmp $L9483
$L9489:
; Line 9583
mov DWORD PTR _i$9490[ebp], 0
jmp SHORT $L9491
$L9492:
mov edx, DWORD PTR _i$9490[ebp]
add edx, 1
mov DWORD PTR _i$9490[ebp], edx
$L9491:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$9490[ebp]
cmp edx, DWORD PTR [ecx+32]
jge $L9493
; Line 9585
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$9490[ebp]
mov eax, DWORD PTR [ecx+edx*4+36]
cmp eax, DWORD PTR _it$[ebp]
jne $L9494
; Line 9589
push 0
lea ecx, DWORD PTR _goal_pos$9495[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9590
push 0
lea eax, DWORD PTR _orient$9496[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9593
mov edx, DWORD PTR _i$9490[ebp]
mov DWORD PTR -544+[ebp], edx
cmp DWORD PTR -544+[ebp], 3
ja $L9498
mov eax, DWORD PTR -544+[ebp]
jmp DWORD PTR $L11623[eax*4]
$L9501:
; Line 9595
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$9496[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$9496[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$9496[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11584[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11583[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11583[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11583[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11583[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11583[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11583[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11585[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11582[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11582[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11582[ebp+8], edx
; Line 9596
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11588[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11587[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11587[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11587[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11587[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11587[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11587[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11589[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11586[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11586[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11586[ebp+8], edx
; Line 9597
jmp $L9498
$L9506:
; Line 9599
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11592[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11591[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11591[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11591[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11591[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11591[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11591[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11593[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11590[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11590[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11590[ebp+8], edx
; Line 9600
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11596[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11595[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11595[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11595[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11595[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11595[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11595[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11597[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11594[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11594[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11594[ebp+8], edx
; Line 9601
jmp $L9498
$L9511:
; Line 9603
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11601[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11600[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11600[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11600[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11600[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11600[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11600[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11602[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11599[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11599[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11599[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11599[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11599[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11599[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11603[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11598[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11598[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11598[ebp+8], edx
; Line 9604
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11607[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11606[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11606[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11606[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11606[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11606[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11606[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11608[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11605[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11605[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11605[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11605[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11605[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11605[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11609[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11604[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11604[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11604[ebp+8], edx
; Line 9605
jmp $L9498
$L9518:
; Line 9607
push 1092616192 ; 41200000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp+24]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+28]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+32]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11613[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11612[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11612[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11612[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11612[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11612[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11612[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11614[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11611[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11611[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11611[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11611[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11611[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11611[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11615[ebp]
push ecx
call ??Z@YA?AUvector@@AAU0@U0@@Z ; operator-=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11610[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11610[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11610[ebp+8], edx
; Line 9608
push 1101004800 ; 41a00000H
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$9496[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$9496[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$9496[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11619[ebp]
push edx
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11618[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11618[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11618[ebp+8], eax
push 1073741824 ; 40000000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11618[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11618[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11618[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11620[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11617[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11617[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11617[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11617[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11617[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11617[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _goal_pos$9495[ebp]
push eax
lea ecx, DWORD PTR $T11621[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11616[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11616[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11616[ebp+8], edx
$L9498:
; Line 9612
mov eax, DWORD PTR _ptr$[ebp]
mov ecx, DWORD PTR _goal_pos$9495[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _goal_pos$9495[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _goal_pos$9495[ebp+8]
mov DWORD PTR [eax+8], ecx
; Line 9613
mov al, 1
jmp SHORT $L9481
$L9494:
; Line 9615
jmp $L9492
$L9493:
; Line 9617
jmp SHORT $L9483
$L9526:
; Line 9620
push 0
mov edx, DWORD PTR _ptr$[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9621
mov al, 1
jmp SHORT $L9481
$L9528:
; Line 9626
mov al, 1
jmp SHORT $L9481
$L9483:
; Line 9632
xor al, al
$L9481:
; Line 9633
mov esp, ebp
pop ebp
ret 16 ; 00000010H
$L11622:
DD $L9486
DD $L9483
DD $L9489
DD $L9526
DD $L9528
$L11623:
DD $L9501
DD $L9506
DD $L9511
DD $L9518
?ReceiveCommand@Skiff@@AAE_NHHDPAX@Z ENDP ; Skiff::ReceiveCommand
_TEXT ENDS
PUBLIC ?UpdateSquadList@Skiff@@AAEXH@Z ; Skiff::UpdateSquadList
_TEXT SEGMENT
_this$ = -16
_i$ = -4
_type$9537 = -8
_j$9538 = -12
?UpdateSquadList@Skiff@@AAEXH@Z PROC NEAR ; Skiff::UpdateSquadList
; Line 9636
push ebp
mov ebp, esp
sub esp, 16 ; 00000010H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 9639
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L9534
$L9535:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L9534:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR [edx+32]
jge $L9536
; Line 9644
push 0
lea ecx, DWORD PTR _type$9537[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR [eax+ecx*4+36]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9645
cmp DWORD PTR _type$9537[ebp], 255 ; 000000ffH
jne SHORT $L9539
; Line 9647
mov eax, DWORD PTR _i$[ebp]
mov DWORD PTR _j$9538[ebp], eax
jmp SHORT $L9540
$L9541:
mov ecx, DWORD PTR _j$9538[ebp]
add ecx, 1
mov DWORD PTR _j$9538[ebp], ecx
$L9540:
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+32]
sub ecx, 1
cmp DWORD PTR _j$9538[ebp], ecx
jge SHORT $L9542
; Line 9649
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov ecx, DWORD PTR _j$9538[ebp]
mov esi, DWORD PTR _j$9538[ebp]
mov eax, DWORD PTR [eax+esi*4+40]
mov DWORD PTR [edx+ecx*4+36], eax
; Line 9650
jmp SHORT $L9541
$L9542:
; Line 9652
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+32]
sub eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+32], eax
; Line 9653
mov eax, DWORD PTR _i$[ebp]
sub eax, 1
mov DWORD PTR _i$[ebp], eax
$L9539:
; Line 9655
jmp $L9535
$L9536:
; Line 9656
pop esi
mov esp, ebp
pop ebp
ret 4
?UpdateSquadList@Skiff@@AAEXH@Z ENDP ; Skiff::UpdateSquadList
_TEXT ENDS
PUBLIC ?UpdateSquad@Skiff@@AAEXH@Z ; Skiff::UpdateSquad
_TEXT SEGMENT
_me$ = 8
_this$ = -144
_scan_objs$ = -104
_n_scan$ = -4
_room$ = -112
_pos$ = -124
_i$ = -108
_id$9559 = -128
_type$9561 = -132
_f_on_team$9563 = -136
_j$9565 = -140
?UpdateSquad@Skiff@@AAEXH@Z PROC NEAR ; Skiff::UpdateSquad
; Line 9659
push ebp
mov ebp, esp
sub esp, 144 ; 00000090H
mov DWORD PTR _this$[ebp], ecx
; Line 9660
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 2
test edx, edx
je SHORT $L9547
; Line 9661
jmp $L9546
$L9547:
; Line 9663
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 1
test edx, edx
je SHORT $L9550
; Line 9665
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?UpdateSquadList@Skiff@@AAEXH@Z ; Skiff::UpdateSquadList
; Line 9667
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
cmp DWORD PTR [edx+32], 0
jne SHORT $L9549
; Line 9668
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, -2 ; fffffffeH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+20], edx
$L9549:
; Line 9670
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
cmp DWORD PTR [eax+32], 4
jl SHORT $L9550
; Line 9671
jmp $L9546
$L9550:
; Line 9680
push 0
lea ecx, DWORD PTR _pos$[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9681
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9683
push 1
push 0
push 1
push 0
push 25 ; 00000019H
lea edx, DWORD PTR _scan_objs$[ebp]
push edx
push 1128792064 ; 43480000H
mov eax, DWORD PTR _room$[ebp]
push eax
lea ecx, DWORD PTR _pos$[ebp]
push ecx
call DWORD PTR ?AI_GetNearbyObjs@@3P6AHPAUvector@@HMPAHH_N222@ZA ; AI_GetNearbyObjs
add esp, 36 ; 00000024H
mov DWORD PTR _n_scan$[ebp], eax
; Line 9685
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L9556
$L9557:
mov edx, DWORD PTR _i$[ebp]
add edx, 1
mov DWORD PTR _i$[ebp], edx
$L9556:
mov eax, DWORD PTR _i$[ebp]
cmp eax, DWORD PTR _n_scan$[ebp]
jge $L9558
; Line 9688
push 0
lea ecx, DWORD PTR _id$9559[ebp]
push ecx
push 2
push 1
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+edx*4]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9691
mov ecx, DWORD PTR _id$9559[ebp]
and ecx, 65535 ; 0000ffffH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
xor edx, edx
mov dx, WORD PTR [eax+24]
cmp ecx, edx
jne $L9571
; Line 9694
push 0
lea eax, DWORD PTR _type$9561[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9695
cmp DWORD PTR _type$9561[ebp], 2
jne $L9571
mov eax, DWORD PTR _i$[ebp]
mov ecx, DWORD PTR _scan_objs$[ebp+eax*4]
cmp ecx, DWORD PTR _me$[ebp]
je $L9571
; Line 9697
mov BYTE PTR _f_on_team$9563[ebp], 0
; Line 9698
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
and ecx, 1
test ecx, ecx
je SHORT $L9568
; Line 9701
mov DWORD PTR _j$9565[ebp], 0
jmp SHORT $L9566
$L9567:
mov edx, DWORD PTR _j$9565[ebp]
add edx, 1
mov DWORD PTR _j$9565[ebp], edx
$L9566:
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _j$9565[ebp]
cmp edx, DWORD PTR [ecx+32]
jge SHORT $L9568
; Line 9703
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _j$9565[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+edx*4]
cmp edx, DWORD PTR [ecx+eax*4+36]
jne SHORT $L9569
; Line 9705
mov BYTE PTR _f_on_team$9563[ebp], 1
; Line 9706
jmp SHORT $L9568
$L9569:
; Line 9708
jmp SHORT $L9567
$L9568:
; Line 9711
mov eax, DWORD PTR _f_on_team$9563[ebp]
and eax, 255 ; 000000ffH
test eax, eax
jne SHORT $L9571
; Line 9713
push 0
push 11 ; 0000000bH
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _scan_objs$[ebp+ecx*4]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L9571
; Line 9715
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
or al, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], eax
; Line 9716
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov edx, DWORD PTR [eax+32]
mov eax, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _scan_objs$[ebp+eax*4]
mov DWORD PTR [ecx+edx*4+36], eax
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+32]
add eax, 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+32], eax
$L9571:
; Line 9722
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
cmp DWORD PTR [ecx+32], 4
jl SHORT $L9572
; Line 9723
jmp SHORT $L9546
$L9572:
; Line 9724
jmp $L9557
$L9558:
$L9546:
; Line 9725
mov esp, ebp
pop ebp
ret 4
?UpdateSquad@Skiff@@AAEXH@Z ENDP ; Skiff::UpdateSquad
_TEXT ENDS
PUBLIC __real@4@3fffcccccd0000000000
PUBLIC ?DoInit@Skiff@@AAEXH@Z ; Skiff::DoInit
_DATA SEGMENT
ORG $+2
$SG9582 DB 'Skiff', 00H
_DATA ENDS
; COMDAT __real@4@3fffcccccd0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3fffcccccd0000000000 DD 03fcccccdr ; 1.6
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Skiff@@AAEXH@Z PROC NEAR ; Skiff::DoInit
; File aigame.cpp
; Line 9728
push ebp
mov ebp, esp
sub esp, 28 ; 0000001cH
mov DWORD PTR _this$[ebp], ecx
; Line 9730
mov WORD PTR _ch$[ebp+8], 4
; Line 9731
mov DWORD PTR _ch$[ebp+12], 72 ; 00000048H
; Line 9732
mov DWORD PTR _ch$[ebp], 0
; Line 9733
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 9735
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 9737
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9738
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR __real@4@3fffcccccd0000000000
fmul DWORD PTR [ecx+12]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+16]
; Line 9740
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], 0
; Line 9741
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+28], -1
; Line 9742
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+32], 0
; Line 9745
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -24+[ebp]
call _rand
mov DWORD PTR -28+[ebp], eax
fild DWORD PTR -28+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@3ffe8000000000000000
fadd DWORD PTR -24+[ebp]
fadd DWORD PTR __real@4@3ffbcccccd0000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+52]
; Line 9747
push OFFSET FLAT:$SG9582
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+24], ax
; Line 9749
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
; Line 9750
mov esp, ebp
pop ebp
ret 4
?DoInit@Skiff@@AAEXH@Z ENDP ; Skiff::DoInit
_me$ = 8
_mode$ = 12
_this$ = -60
_f_attack_flags$ = -4
_pos$9594 = -24
_room$9595 = -12
_dist$9596 = -8
_dist$9598 = -32
_g_index$9601 = -28
_pos$9603 = -56
_room$9604 = -44
_dist$9605 = -40
_g_index$9606 = -36
?SetMode@Skiff@@AAEXHD@Z PROC NEAR ; Skiff::SetMode
; Line 9753
push ebp
mov ebp, esp
sub esp, 68 ; 00000044H
mov DWORD PTR _this$[ebp], ecx
; Line 9754
mov DWORD PTR _f_attack_flags$[ebp], 33554688 ; 02000100H
; Line 9755
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 9757
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9760
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR -64+[ebp], cl
cmp BYTE PTR -64+[ebp], 0
je SHORT $L9593
cmp BYTE PTR -64+[ebp], 1
je SHORT $L9597
cmp BYTE PTR -64+[ebp], 2
je $L9602
jmp $L9590
$L9593:
; Line 9764
mov DWORD PTR _room$9595[ebp], 0
; Line 9765
mov DWORD PTR _dist$9596[ebp], 1097859072 ; 41700000H
; Line 9767
lea edx, DWORD PTR _f_attack_flags$[ebp]
push edx
push 51 ; 00000033H
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9768
mov ecx, DWORD PTR _room$9595[ebp]
push ecx
lea edx, DWORD PTR _pos$9594[ebp]
push edx
push 4108 ; 0000100cH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9769
push 0
lea ecx, DWORD PTR _dist$9596[ebp]
push ecx
push 26 ; 0000001aH
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9771
jmp $L9590
$L9597:
; Line 9775
lea eax, DWORD PTR _f_attack_flags$[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9779
call _rand
mov DWORD PTR -68+[ebp], eax
fild DWORD PTR -68+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4002a000000000000000
fadd DWORD PTR __real@4@4004f000000000000000
fstp DWORD PTR _dist$9598[ebp]
; Line 9780
push -1
push 4245 ; 00001095H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 9781
push 0
lea eax, DWORD PTR _dist$9598[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9783
mov DWORD PTR _dist$9598[ebp], 1092616192 ; 41200000H
; Line 9784
push -1
push 4117 ; 00001015H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$9601[ebp], eax
; Line 9785
push 0
lea eax, DWORD PTR _dist$9598[ebp]
push eax
push 26 ; 0000001aH
push 0
mov cl, BYTE PTR _g_index$9601[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9787
jmp $L9590
$L9602:
; Line 9792
mov DWORD PTR _room$9604[ebp], 0
; Line 9794
lea eax, DWORD PTR _f_attack_flags$[ebp]
push eax
push 51 ; 00000033H
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9796
push 0
lea edx, DWORD PTR _pos$9603[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9797
push 0
lea ecx, DWORD PTR _room$9604[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9799
mov DWORD PTR _dist$9605[ebp], 1092616192 ; 41200000H
; Line 9801
mov eax, DWORD PTR _room$9604[ebp]
push eax
lea ecx, DWORD PTR _pos$9603[ebp]
push ecx
push 4109 ; 0000100dH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 9802
push 0
lea eax, DWORD PTR _dist$9605[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9804
push -1
push 4117 ; 00001015H
push -1
push 1065353216 ; 3f800000H
push 100 ; 00000064H
push 4194304 ; 00400000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
add esp, 28 ; 0000001cH
call __ftol
mov DWORD PTR _g_index$9606[ebp], eax
; Line 9805
push 0
lea eax, DWORD PTR _dist$9605[ebp]
push eax
push 26 ; 0000001aH
push 0
mov cl, BYTE PTR _g_index$9606[ebp]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9807
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9590:
; Line 9812
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+20]
and edx, 2
test edx, edx
je $L9607
; Line 9815
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 13 ; 0000000dH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
; Line 9816
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 12 ; 0000000cH
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9817
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 14 ; 0000000eH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
; Line 9818
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 6
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9821
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+68]
push edx
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 4101 ; 00001005H
push -1
push 1082130432 ; 40800000H
push 2
push 1048576 ; 00100000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
$L9607:
; Line 9824
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR _mode$[ebp]
mov BYTE PTR [ecx], dl
; Line 9825
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 9826
mov esp, ebp
pop ebp
ret 8
?SetMode@Skiff@@AAEXHD@Z ENDP ; Skiff::SetMode
_TEXT ENDS
PUBLIC __real@4@3ffcb851ec0000000000
PUBLIC __real@4@3ffacccccd0000000000
PUBLIC ?DoSquadieFrame@Skiff@@AAEXH@Z ; Skiff::DoSquadieFrame
; COMDAT __real@4@3ffcb851ec0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffcb851ec0000000000 DD 03e3851ecr ; 0.18
CONST ENDS
; COMDAT __real@4@3ffacccccd0000000000
CONST SEGMENT
__real@4@3ffacccccd0000000000 DD 03d4ccccdr ; 0.05
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -36
_type$ = -20
_my_pos$ = -16
_dist$ = -4
_scaled_speed$9618 = -28
_speed$9619 = -24
_catchup_speed$9622 = -32
?DoSquadieFrame@Skiff@@AAEXH@Z PROC NEAR ; Skiff::DoSquadieFrame
; File aigame.cpp
; Line 9829
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov DWORD PTR _this$[ebp], ecx
; Line 9831
push 0
lea eax, DWORD PTR _type$[ebp]
push eax
push 1
push 1
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+28]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9834
cmp DWORD PTR _type$[ebp], 255 ; 000000ffH
jne SHORT $L9613
; Line 9836
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
and eax, 4
test eax, eax
je SHORT $L9614
; Line 9838
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9614:
; Line 9841
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+20], 0
; Line 9842
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+28], -1
; Line 9844
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
; Line 9845
jmp $L9611
$L9613:
; Line 9849
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 13 ; 0000000dH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
; Line 9850
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 56 ; 00000038H
push ecx
push 12 ; 0000000cH
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9851
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 14 ; 0000000eH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SendCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::SendCommand
; Line 9852
push 0
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 68 ; 00000044H
push ecx
push 6
push 0
push 2
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 9855
push 0
lea eax, DWORD PTR _my_pos$[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 9857
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
add eax, 56 ; 00000038H
push eax
lea ecx, DWORD PTR _my_pos$[ebp]
push ecx
call ?vm_VectorDistance@@YAMPBUvector@@0@Z ; vm_VectorDistance
add esp, 8
fstp DWORD PTR _dist$[ebp]
; Line 9859
fld DWORD PTR _dist$[ebp]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9617
; Line 9861
fld DWORD PTR _dist$[ebp]
fdiv DWORD PTR __real@4@4001a000000000000000
fmul DWORD PTR __real@4@3ffcb851ec0000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fmul DWORD PTR [eax+12]
fstp DWORD PTR _scaled_speed$9618[ebp]
; Line 9864
lea ecx, DWORD PTR _speed$9619[ebp]
push ecx
push 0
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9866
fld DWORD PTR _speed$9619[ebp]
fadd DWORD PTR _scaled_speed$9618[ebp]
fstp DWORD PTR _speed$9619[ebp]
; Line 9868
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
and ecx, -5 ; fffffffbH
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], ecx
; Line 9869
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9871
jmp $L9621
$L9617:
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR [edx+20]
and eax, 4
test eax, eax
jne $L9621
fld DWORD PTR _dist$[ebp]
fcomp DWORD PTR __real@4@4001a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9621
; Line 9875
lea ecx, DWORD PTR _catchup_speed$9622[ebp]
push ecx
push 0
push 1
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+28]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9876
fld DWORD PTR _catchup_speed$9622[ebp]
fmul DWORD PTR __real@4@3ffcb851ec0000000000
fstp DWORD PTR -40+[ebp]
fld DWORD PTR _catchup_speed$9622[ebp]
fmul DWORD PTR __real@4@3ffacccccd0000000000
fstp DWORD PTR -44+[ebp]
call _rand
mov DWORD PTR -48+[ebp], eax
fild DWORD PTR -48+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR -44+[ebp]
fadd DWORD PTR -40+[ebp]
fadd DWORD PTR _catchup_speed$9622[ebp]
fstp DWORD PTR _catchup_speed$9622[ebp]
; Line 9878
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
or ecx, 4
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+20], ecx
; Line 9879
lea ecx, DWORD PTR _catchup_speed$9622[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9621:
$L9611:
; Line 9885
mov esp, ebp
pop ebp
ret 4
?DoSquadieFrame@Skiff@@AAEXH@Z ENDP ; Skiff::DoSquadieFrame
_TEXT ENDS
PUBLIC ?DoFrame@Skiff@@AAEXH@Z ; Skiff::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -8
_last_see_target_time$ = -4
?DoFrame@Skiff@@AAEXH@Z PROC NEAR ; Skiff::DoFrame
; Line 9888
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 9890
lea eax, DWORD PTR _last_see_target_time$[ebp]
push eax
push 25 ; 00000019H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 9893
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR [esi+52]
fnstsw ax
test ah, 1
jne SHORT $L9630
; Line 9896
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fstp DWORD PTR -12+[ebp]
call _rand
mov DWORD PTR -16+[ebp], eax
fild DWORD PTR -16+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul DWORD PTR __real@4@4000c000000000000000
fadd DWORD PTR -12+[ebp]
fadd DWORD PTR __real@4@4000c000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+52]
$L9630:
; Line 9901
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov ecx, DWORD PTR [eax+20]
and ecx, 2
test ecx, ecx
je SHORT $L9633
; Line 9903
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoSquadieFrame@Skiff@@AAEXH@Z ; Skiff::DoSquadieFrame
$L9633:
; Line 9907
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx]
mov BYTE PTR -20+[ebp], dl
cmp BYTE PTR -20+[ebp], 0
je $L9643
cmp BYTE PTR -20+[ebp], 1
je SHORT $L9638
cmp BYTE PTR -20+[ebp], 2
je SHORT $L9640
jmp $L9635
$L9638:
; Line 9911
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L9639
; Line 9912
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
$L9639:
; Line 9917
jmp SHORT $L9635
$L9640:
; Line 9922
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 1
je SHORT $L9641
; Line 9923
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
$L9641:
; Line 9925
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fcomp DWORD PTR __real@4@40018000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9642
; Line 9926
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
$L9642:
; Line 9928
jmp SHORT $L9635
$L9643:
; Line 9933
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fld DWORD PTR _last_see_target_time$[ebp]
fadd DWORD PTR __real@4@4001e000000000000000
fcompp
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9644
; Line 9934
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
$L9644:
$L9635:
; Line 9939
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
; Line 9940
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Skiff@@AAEXH@Z ENDP ; Skiff::DoFrame
_TEXT ENDS
PUBLIC ?DoNotify@Skiff@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Skiff::DoNotify
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -8
_com$9661 = -4
?DoNotify@Skiff@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Skiff::DoNotify
; Line 9943
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 9944
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax]
push ecx
call ?IsGoalFinishedNotify@@YA_NH@Z ; IsGoalFinishedNotify
add esp, 4
and eax, 255 ; 000000ffH
test eax, eax
je SHORT $L9650
; Line 9947
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR [eax]
mov BYTE PTR -12+[ebp], cl
cmp BYTE PTR -12+[ebp], 1
je SHORT $L9655
cmp BYTE PTR -12+[ebp], 2
je SHORT $L9657
jmp SHORT $L9652
$L9655:
; Line 9949
mov edx, DWORD PTR _data$[ebp]
cmp DWORD PTR [edx+8], 1
jne SHORT $L9656
; Line 9951
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
; Line 9952
xor al, al
jmp SHORT $L9649
$L9656:
; Line 9954
jmp SHORT $L9652
$L9657:
; Line 9956
mov ecx, DWORD PTR _data$[ebp]
cmp DWORD PTR [ecx+8], 1
jne SHORT $L9658
; Line 9958
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Skiff@@AAEXHD@Z ; Skiff::SetMode
; Line 9959
xor al, al
jmp SHORT $L9649
$L9658:
$L9652:
; Line 9964
jmp SHORT $L9660
$L9650:
mov eax, DWORD PTR _data$[ebp]
cmp DWORD PTR [eax], 16 ; 00000010H
jne SHORT $L9660
; Line 9966
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+24]
mov DWORD PTR _com$9661[ebp], edx
; Line 9968
mov eax, DWORD PTR _com$9661[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
mov edx, DWORD PTR _com$9661[ebp]
mov al, BYTE PTR [edx]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+4]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?ReceiveCommand@Skiff@@AAE_NHHDPAX@Z ; Skiff::ReceiveCommand
jmp SHORT $L9649
$L9660:
; Line 9971
mov al, 1
$L9649:
; Line 9972
mov esp, ebp
pop ebp
ret 8
?DoNotify@Skiff@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; Skiff::DoNotify
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Skiff@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Skiff::CallEvent
; Line 9975
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 9977
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9669
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11638[eax]
jmp DWORD PTR $L11639[edx*4]
$L9672:
; Line 9979
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Skiff@@AAEXH@Z ; Skiff::DoInit
; Line 9980
jmp SHORT $L9669
$L9673:
; Line 9982
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Skiff@@AAEXH@Z ; Skiff::DoFrame
; Line 9983
jmp SHORT $L9669
$L9674:
; Line 9985
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Skiff@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Skiff::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9667
$L9675:
; Line 9989
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9669:
; Line 9993
mov ax, 257 ; 00000101H
$L9667:
; Line 9994
mov esp, ebp
pop ebp
ret 8
$L11639:
DD $L9673
DD $L9674
DD $L9672
DD $L9675
DD $L9669
$L11638:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Skiff@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Skiff::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@SpyHunter@@AAEXH@Z ; SpyHunter::DoInit
PUBLIC ?SetMode@SpyHunter@@AAEXHD@Z ; SpyHunter::SetMode
_DATA SEGMENT
ORG $+2
$SG9684 DB 'EMDblob', 00H
$SG9685 DB 'WpnBmbTickElectricalA', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@SpyHunter@@AAEXH@Z PROC NEAR ; SpyHunter::DoInit
; Line 10001
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 10003
mov WORD PTR _ch$[ebp+8], 4
; Line 10004
mov DWORD PTR _ch$[ebp+12], 32 ; 00000020H
; Line 10005
mov DWORD PTR _ch$[ebp], 0
; Line 10006
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 10008
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 10009
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx+20], 1
; Line 10010
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax+12], 0
; Line 10011
push OFFSET FLAT:$SG9684
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov WORD PTR [edx+22], ax
; Line 10012
push OFFSET FLAT:$SG9685
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov DWORD PTR [edx+24], eax
; Line 10013
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+28]
; Line 10015
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SpyHunter@@AAEXHD@Z ; SpyHunter::SetMode
; Line 10016
mov esp, ebp
pop ebp
ret 4
?DoInit@SpyHunter@@AAEXH@Z ENDP ; SpyHunter::DoInit
_me$ = 8
_mode$ = 12
_this$ = -32
_f_attack_flags$ = -4
_pos$9699 = -24
_room$9700 = -12
_dist$9701 = -8
_dist$9704 = -28
?SetMode@SpyHunter@@AAEXHD@Z PROC NEAR ; SpyHunter::SetMode
; Line 10019
push ebp
mov ebp, esp
sub esp, 44 ; 0000002cH
mov DWORD PTR _this$[ebp], ecx
; Line 10020
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 10022
mov DWORD PTR _f_attack_flags$[ebp], 33554688 ; 02000100H
; Line 10024
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
cmp eax, 1
je SHORT $L9693
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
cmp eax, 2
jne SHORT $L9692
$L9693:
; Line 10026
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [edx]
mov BYTE PTR [ecx+20], dl
$L9692:
; Line 10030
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -36+[ebp], al
cmp BYTE PTR -36+[ebp], 0
je SHORT $L9698
cmp BYTE PTR -36+[ebp], 1
je SHORT $L9702
cmp BYTE PTR -36+[ebp], 2
je $L9703
jmp $L9695
$L9698:
; Line 10034
mov DWORD PTR _room$9700[ebp], 0
; Line 10035
mov DWORD PTR _dist$9701[ebp], 1084227584 ; 40a00000H
; Line 10037
lea ecx, DWORD PTR _f_attack_flags$[ebp]
push ecx
push 51 ; 00000033H
push 3
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10040
mov eax, DWORD PTR _room$9700[ebp]
push eax
lea ecx, DWORD PTR _pos$9699[ebp]
push ecx
push 65804 ; 0001010cH
push -1
push 1065353216 ; 3f800000H
push 1
push 64 ; 00000040H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10041
push 0
lea eax, DWORD PTR _dist$9701[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10043
jmp $L9695
$L9702:
; Line 10046
lea edx, DWORD PTR _f_attack_flags$[ebp]
push edx
push 51 ; 00000033H
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10047
push 2
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 10049
jmp SHORT $L9695
$L9703:
; Line 10052
mov DWORD PTR _dist$9704[ebp], -998637568 ; c47a0000H
; Line 10054
mov edx, DWORD PTR _f_attack_flags$[ebp]
or dl, -128 ; ffffff80H
mov DWORD PTR _f_attack_flags$[ebp], edx
; Line 10055
lea eax, DWORD PTR _f_attack_flags$[ebp]
push eax
push 51 ; 00000033H
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10057
push -1
push 4372 ; 00001114H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 10058
push 0
lea eax, DWORD PTR _dist$9704[ebp]
push eax
push 26 ; 0000001aH
push 0
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
$L9695:
; Line 10063
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR [eax], cl
; Line 10064
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+16], 0
; Line 10065
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+28]
; Line 10066
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fadd DWORD PTR __real@4@4001a000000000000000
fstp DWORD PTR -40+[ebp]
call _rand
mov DWORD PTR -44+[ebp], eax
fild DWORD PTR -44+[ebp]
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR -40+[ebp]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 10067
mov esp, ebp
pop ebp
ret 8
?SetMode@SpyHunter@@AAEXHD@Z ENDP ; SpyHunter::SetMode
_TEXT ENDS
PUBLIC ?DoNotify@SpyHunter@@AAE_NHPAUtOSIRISEventInfo@@@Z ; SpyHunter::DoNotify
_DATA SEGMENT
ORG $+2
$SG9730 DB 'FragBarrel', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_data$ = 12
_this$ = -968
_notify$ = -4
_type$9714 = -8
_id$9716 = -12
_room$9725 = -16
_pos$9726 = -28
_velocity$9728 = -964
_weapon_id$9729 = -952
_mstruct$9731 = -948
?DoNotify@SpyHunter@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SpyHunter::DoNotify
; Line 10070
push ebp
mov ebp, esp
sub esp, 968 ; 000003c8H
mov DWORD PTR _this$[ebp], ecx
; Line 10071
mov eax, DWORD PTR _data$[ebp]
mov DWORD PTR _notify$[ebp], eax
; Line 10073
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx+12]
test eax, eax
jne SHORT $L9717
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 14 ; 0000000eH
jne SHORT $L9717
; Line 10076
push 0
lea edx, DWORD PTR _type$9714[ebp]
push edx
push 1
push 1
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10078
cmp DWORD PTR _type$9714[ebp], 5
jne SHORT $L9717
; Line 10082
push 0
lea edx, DWORD PTR _id$9716[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _notify$[ebp]
mov ecx, DWORD PTR [eax+4]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10083
mov edx, DWORD PTR _id$9716[ebp]
and edx, 65535 ; 0000ffffH
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor eax, eax
mov ax, WORD PTR [ecx+22]
cmp edx, eax
jne SHORT $L9717
; Line 10085
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx+12], 1
$L9717:
; Line 10090
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx]
test edx, edx
je SHORT $L9719
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
movsx edx, BYTE PTR [ecx]
cmp edx, 1
jne SHORT $L9723
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+16]
fcomp DWORD PTR __real@4@4002a000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9723
$L9719:
; Line 10092
mov edx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [edx], 8
je SHORT $L9721
mov eax, DWORD PTR _notify$[ebp]
cmp DWORD PTR [eax], 14 ; 0000000eH
je SHORT $L9721
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 22 ; 00000016H
jne SHORT $L9723
$L9721:
; Line 10094
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax]
test ecx, ecx
jne SHORT $L9722
; Line 10096
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SpyHunter@@AAEXHD@Z ; SpyHunter::SetMode
; Line 10097
mov al, 1
jmp $L9711
$L9722:
; Line 10101
push 2
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SpyHunter@@AAEXHD@Z ; SpyHunter::SetMode
; Line 10102
mov al, 1
jmp $L9711
$L9723:
; Line 10107
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
cmp eax, 2
jne $L9724
mov ecx, DWORD PTR _notify$[ebp]
cmp DWORD PTR [ecx], 22 ; 00000016H
jne $L9724
; Line 10112
push 0
lea edx, DWORD PTR _room$9725[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10113
push 0
lea ecx, DWORD PTR _pos$9726[ebp]
push ecx
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?Obj_GetGunPos@@3P6AXHHPAUvector@@0@ZA ; Obj_GetGunPos
add esp, 16 ; 00000010H
; Line 10115
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx+12]
test edx, edx
jne SHORT $L9727
; Line 10118
push 0
lea eax, DWORD PTR _velocity$9728[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10120
push OFFSET FLAT:$SG9730
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$9729[ebp], eax
; Line 10121
lea edx, DWORD PTR _velocity$9728[ebp]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
push 0
lea ecx, DWORD PTR _pos$9726[ebp]
push ecx
mov edx, DWORD PTR _room$9725[ebp]
push edx
mov ax, WORD PTR _weapon_id$9729[ebp]
push eax
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
$L9727:
; Line 10126
mov ecx, DWORD PTR _me$[ebp]
mov DWORD PTR _mstruct$9731[ebp+44], ecx
; Line 10127
mov DWORD PTR _mstruct$9731[ebp+100], -1
; Line 10128
mov BYTE PTR _mstruct$9731[ebp+96], 0
; Line 10129
mov DWORD PTR _mstruct$9731[ebp+92], 1148846080 ; 447a0000H
; Line 10131
lea edx, DWORD PTR _mstruct$9731[ebp]
push edx
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
$L9724:
; Line 10134
mov al, 1
$L9711:
; Line 10135
mov esp, ebp
pop ebp
ret 8
?DoNotify@SpyHunter@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; SpyHunter::DoNotify
_TEXT ENDS
PUBLIC __real@4@3ffaf5c28f0000000000
PUBLIC __real@4@400afa00000000000000
PUBLIC ?DoFrame@SpyHunter@@AAEXH@Z ; SpyHunter::DoFrame
; COMDAT __real@4@3ffaf5c28f0000000000
; File aigame.cpp
CONST SEGMENT
__real@4@3ffaf5c28f0000000000 DD 03d75c28fr ; 0.06
CONST ENDS
; COMDAT __real@4@400afa00000000000000
CONST SEGMENT
__real@4@400afa00000000000000 DD 0457a0000r ; 4000
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -16
_tick_interval$9743 = -4
_p_explode$9745 = -8
_max_speed$9749 = -12
?DoFrame@SpyHunter@@AAEXH@Z PROC NEAR ; SpyHunter::DoFrame
; File aigame.cpp
; Line 10138
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10142
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov dl, BYTE PTR [ecx]
mov BYTE PTR -20+[ebp], dl
cmp BYTE PTR -20+[ebp], 2
je SHORT $L9742
jmp $L9737
$L9742:
; Line 10167
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+16]
fcomp QWORD PTR __real@8@4001a000000000000000
fnstsw ax
test ah, 1
je SHORT $L9744
; Line 10169
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+16]
fsubr QWORD PTR __real@8@4001a000000000000000
fdiv QWORD PTR __real@8@4001a000000000000000
fstp DWORD PTR _p_explode$9745[ebp]
; Line 10171
fld DWORD PTR __real@4@3ffe8000000000000000
fmul DWORD PTR _p_explode$9745[ebp]
fld DWORD PTR __real@4@3fff8000000000000000
fsub DWORD PTR _p_explode$9745[ebp]
fmul DWORD PTR __real@4@3ffaf5c28f0000000000
faddp ST(1), ST(0)
fstp DWORD PTR _tick_interval$9743[ebp]
; Line 10173
jmp SHORT $L9746
$L9744:
; Line 10175
mov DWORD PTR _tick_interval$9743[ebp], 1031127695 ; 3d75c28fH
$L9746:
; Line 10178
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fld DWORD PTR _tick_interval$9743[ebp]
fadd DWORD PTR [edx+28]
fstp DWORD PTR -24+[ebp]
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
fcomp DWORD PTR -24+[ebp]
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L9747
; Line 10180
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR [ecx+24]
push edx
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
; Line 10181
call DWORD PTR ?Game_GetTime@@3P6AMXZA ; Game_GetTime
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+28]
$L9747:
; Line 10184
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fld DWORD PTR [ecx+16]
fcomp DWORD PTR __real@4@4002f000000000000000
fnstsw ax
test ah, 1
je $L9748
; Line 10188
lea edx, DWORD PTR _max_speed$9749[ebp]
push edx
push 0
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10189
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul DWORD PTR __real@4@40028000000000000000
fadd DWORD PTR _max_speed$9749[ebp]
fstp DWORD PTR _max_speed$9749[ebp]
; Line 10190
lea ecx, DWORD PTR _max_speed$9749[ebp]
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10192
lea eax, DWORD PTR _max_speed$9749[ebp]
push eax
push 2
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10193
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul DWORD PTR __real@4@400afa00000000000000
fadd DWORD PTR _max_speed$9749[ebp]
fstp DWORD PTR _max_speed$9749[ebp]
; Line 10194
lea edx, DWORD PTR _max_speed$9749[ebp]
push edx
push 2
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10197
lea ecx, DWORD PTR _max_speed$9749[ebp]
push ecx
push 1
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10198
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fmul DWORD PTR __real@4@40028000000000000000
fadd DWORD PTR _max_speed$9749[ebp]
fstp DWORD PTR _max_speed$9749[ebp]
; Line 10199
lea eax, DWORD PTR _max_speed$9749[ebp]
push eax
push 1
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
$L9748:
$L9737:
; Line 10205
mov edx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [edx+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+16]
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+16]
; Line 10206
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@SpyHunter@@AAEXH@Z ENDP ; SpyHunter::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@SpyHunter@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SpyHunter::CallEvent
; Line 10209
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 10211
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9756
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11649[eax]
jmp DWORD PTR $L11650[edx*4]
$L9759:
; Line 10213
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@SpyHunter@@AAEXH@Z ; SpyHunter::DoInit
; Line 10214
jmp SHORT $L9756
$L9760:
; Line 10216
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@SpyHunter@@AAEXH@Z ; SpyHunter::DoFrame
; Line 10217
jmp SHORT $L9756
$L9761:
; Line 10219
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@SpyHunter@@AAE_NHPAUtOSIRISEventInfo@@@Z ; SpyHunter::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9754
$L9762:
; Line 10223
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9756:
; Line 10227
mov ax, 257 ; 00000101H
$L9754:
; Line 10228
mov esp, ebp
pop ebp
ret 8
$L11650:
DD $L9760
DD $L9761
DD $L9759
DD $L9762
DD $L9756
$L11649:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@SpyHunter@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; SpyHunter::CallEvent
_TEXT ENDS
PUBLIC ?DoNotify@Sniper@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Sniper::DoNotify
_TEXT SEGMENT
_this$ = -4
?DoNotify@Sniper@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Sniper::DoNotify
; Line 10235
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 10236
mov al, 1
; Line 10237
mov esp, ebp
pop ebp
ret 8
?DoNotify@Sniper@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; Sniper::DoNotify
_TEXT ENDS
PUBLIC __real@8@3ffe8000000000000000
PUBLIC ?SetMode@Sniper@@AAEXHD@Z ; Sniper::SetMode
; COMDAT __real@8@3ffe8000000000000000
; File aigame.cpp
CONST SEGMENT
__real@8@3ffe8000000000000000 DQ 03fe0000000000000r ; 0.5
CONST ENDS
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -44
_pos$9779 = -20
_room$9780 = -8
_flags$9781 = -4
_timescaler$9786 = -28
_speed$9789 = -24
_delta_vel$9792 = -32
_used$9798 = -36
_flags$9800 = -40
?SetMode@Sniper@@AAEXHD@Z PROC NEAR ; Sniper::SetMode
; File aigame.cpp
; Line 10240
push ebp
mov ebp, esp
sub esp, 84 ; 00000054H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10242
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -48+[ebp], al
cmp BYTE PTR -48+[ebp], 0
je $L9797
cmp BYTE PTR -48+[ebp], 1
je SHORT $L9778
jmp $L9775
$L9778:
; Line 10246
mov DWORD PTR _room$9780[ebp], 0
; Line 10248
mov DWORD PTR _flags$9781[ebp], 8
; Line 10250
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 50 ; 00000032H
jle SHORT $L9782
; Line 10252
mov edx, DWORD PTR _flags$9781[ebp]
or edx, 65536 ; 00010000H
mov DWORD PTR _flags$9781[ebp], edx
; Line 10253
push 1
push 0
push -1073741804 ; c0000014H
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10254
call _rand
mov DWORD PTR -52+[ebp], eax
fild DWORD PTR -52+[ebp]
fmul DWORD PTR __real@4@40018000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 10256
jmp $L9785
$L9782:
; Line 10258
mov DWORD PTR _timescaler$9786[ebp], 1065353216 ; 3f800000H
; Line 10260
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 94 ; 0000005eH
jl SHORT $L9787
; Line 10262
mov edx, DWORD PTR _flags$9781[ebp]
or edx, -2147479552 ; 80001000H
mov DWORD PTR _flags$9781[ebp], edx
; Line 10263
mov DWORD PTR _timescaler$9786[ebp], 1073741824 ; 40000000H
; Line 10265
jmp SHORT $L9788
$L9787:
; Line 10267
mov eax, DWORD PTR _flags$9781[ebp]
or eax, -1073741824 ; c0000000H
mov DWORD PTR _flags$9781[ebp], eax
$L9788:
; Line 10270
mov ecx, DWORD PTR _room$9780[ebp]
push ecx
lea edx, DWORD PTR _pos$9779[ebp]
push edx
mov eax, DWORD PTR _flags$9781[ebp]
push eax
push -1
push 1065353216 ; 3f800000H
push 3
push 64 ; 00000040H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10272
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+12]
fstp QWORD PTR -60+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call _rand
mov DWORD PTR -64+[ebp], eax
fild DWORD PTR -64+[ebp]
fmul DWORD PTR [esi+12]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul QWORD PTR __real@8@3ffe8000000000000000
fadd QWORD PTR -60+[ebp]
fstp DWORD PTR _speed$9789[ebp]
; Line 10273
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+16]
fstp QWORD PTR -72+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call _rand
mov DWORD PTR -76+[ebp], eax
fild DWORD PTR -76+[ebp]
fmul DWORD PTR [esi+16]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul QWORD PTR __real@8@3ffe8000000000000000
fadd QWORD PTR -72+[ebp]
fstp DWORD PTR _delta_vel$9792[ebp]
; Line 10275
lea edx, DWORD PTR _speed$9789[ebp]
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10276
lea ecx, DWORD PTR _delta_vel$9792[ebp]
push ecx
push 1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10278
call _rand
mov DWORD PTR -80+[ebp], eax
fild DWORD PTR -80+[ebp]
fmul DWORD PTR __real@4@40018000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 10279
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _timescaler$9786[ebp]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
$L9785:
; Line 10283
jmp $L9775
$L9797:
; Line 10287
push 0
lea eax, DWORD PTR _used$9798[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10289
mov edx, DWORD PTR _used$9798[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L9801
; Line 10292
push 0
lea eax, DWORD PTR _flags$9800[ebp]
push eax
push 36 ; 00000024H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10294
mov edx, DWORD PTR _flags$9800[ebp]
and edx, 1
test edx, edx
jne SHORT $L9801
; Line 10296
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_ClearGoal@@3P6AXHH@ZA ; AI_ClearGoal
add esp, 8
$L9801:
; Line 10300
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10301
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 16 ; 00000010H
push edx
push 1
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10302
call _rand
mov DWORD PTR -84+[ebp], eax
fild DWORD PTR -84+[ebp]
fmul DWORD PTR __real@4@4001a000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
$L9775:
; Line 10307
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 10308
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR [eax], cl
; Line 10309
pop esi
mov esp, ebp
pop ebp
ret 8
?SetMode@Sniper@@AAEXHD@Z ENDP ; Sniper::SetMode
_TEXT ENDS
PUBLIC ?DoInit@Sniper@@AAEXH@Z ; Sniper::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@Sniper@@AAEXH@Z PROC NEAR ; Sniper::DoInit
; Line 10312
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 10314
mov WORD PTR _ch$[ebp+8], 4
; Line 10315
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 10316
mov DWORD PTR _ch$[ebp], 0
; Line 10317
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 10319
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 10321
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10322
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 1
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10324
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sniper@@AAEXHD@Z ; Sniper::SetMode
; Line 10325
mov esp, ebp
pop ebp
ret 4
?DoInit@Sniper@@AAEXH@Z ENDP ; Sniper::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@Sniper@@AAEXH@Z ; Sniper::DoFrame
_DATA SEGMENT
ORG $+1
$SG9817 DB 'd3bot20', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -932
_m$ = -924
_orbot_id$ = -4
_used$9819 = -928
?DoFrame@Sniper@@AAEXH@Z PROC NEAR ; Sniper::DoFrame
; Line 10328
push ebp
mov ebp, esp
sub esp, 932 ; 000003a4H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10330
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 10331
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 31 ; 0000001fH
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 10332
push OFFSET FLAT:$SG9817
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _orbot_id$[ebp], eax
; Line 10334
mov edx, DWORD PTR _m$[ebp+72]
cmp edx, DWORD PTR _orbot_id$[ebp]
je SHORT $L9820
; Line 10337
push 0
lea eax, DWORD PTR _used$9819[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10339
mov edx, DWORD PTR _used$9819[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L9820
; Line 10341
jmp SHORT $L9814
$L9820:
; Line 10358
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR [eax+4]
fnstsw ax
test ah, 1
je SHORT $L9823
; Line 10360
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
test eax, eax
jne SHORT $L9822
; Line 10361
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sniper@@AAEXHD@Z ; Sniper::SetMode
; Line 10362
jmp SHORT $L9823
$L9822:
; Line 10363
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@Sniper@@AAEXHD@Z ; Sniper::SetMode
$L9823:
; Line 10366
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
$L9814:
; Line 10367
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@Sniper@@AAEXH@Z ENDP ; Sniper::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Sniper@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Sniper::CallEvent
; Line 10370
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 10372
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9830
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11658[eax]
jmp DWORD PTR $L11659[edx*4]
$L9833:
; Line 10374
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Sniper@@AAEXH@Z ; Sniper::DoInit
; Line 10375
jmp SHORT $L9830
$L9834:
; Line 10377
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@Sniper@@AAEXH@Z ; Sniper::DoFrame
; Line 10378
jmp SHORT $L9830
$L9835:
; Line 10380
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@Sniper@@AAE_NHPAUtOSIRISEventInfo@@@Z ; Sniper::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9828
$L9836:
; Line 10384
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9830:
; Line 10388
mov ax, 257 ; 00000101H
$L9828:
; Line 10389
mov esp, ebp
pop ebp
ret 8
$L11659:
DD $L9834
DD $L9835
DD $L9833
DD $L9836
DD $L9830
$L11658:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@Sniper@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Sniper::CallEvent
_TEXT ENDS
PUBLIC ?DoNotify@SniperNoRun@@AAE_NHPAUtOSIRISEventInfo@@@Z ; SniperNoRun::DoNotify
_TEXT SEGMENT
_this$ = -4
?DoNotify@SniperNoRun@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SniperNoRun::DoNotify
; Line 10396
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 10397
mov al, 1
; Line 10398
mov esp, ebp
pop ebp
ret 8
?DoNotify@SniperNoRun@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; SniperNoRun::DoNotify
_TEXT ENDS
PUBLIC ?SetMode@SniperNoRun@@AAEXHD@Z ; SniperNoRun::SetMode
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -44
_pos$9853 = -20
_room$9854 = -8
_flags$9855 = -4
_timescaler$9860 = -28
_speed$9861 = -24
_delta_vel$9864 = -32
_used$9870 = -36
_flags$9872 = -40
?SetMode@SniperNoRun@@AAEXHD@Z PROC NEAR ; SniperNoRun::SetMode
; Line 10401
push ebp
mov ebp, esp
sub esp, 84 ; 00000054H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10403
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -48+[ebp], al
cmp BYTE PTR -48+[ebp], 0
je $L9869
cmp BYTE PTR -48+[ebp], 1
je SHORT $L9852
jmp $L9849
$L9852:
; Line 10407
mov DWORD PTR _room$9854[ebp], 0
; Line 10409
mov DWORD PTR _flags$9855[ebp], 8
; Line 10411
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 50 ; 00000032H
jle SHORT $L9856
; Line 10413
mov edx, DWORD PTR _flags$9855[ebp]
or edx, 65536 ; 00010000H
mov DWORD PTR _flags$9855[ebp], edx
; Line 10414
push 1
push 0
push -1073741804 ; c0000014H
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10415
call _rand
mov DWORD PTR -52+[ebp], eax
fild DWORD PTR -52+[ebp]
fmul DWORD PTR __real@4@40018000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
; Line 10417
jmp $L9859
$L9856:
; Line 10419
mov DWORD PTR _timescaler$9860[ebp], 1065353216 ; 3f800000H
; Line 10421
mov eax, DWORD PTR _flags$9855[ebp]
or eax, -1073741824 ; c0000000H
mov DWORD PTR _flags$9855[ebp], eax
; Line 10422
mov ecx, DWORD PTR _room$9854[ebp]
push ecx
lea edx, DWORD PTR _pos$9853[ebp]
push edx
mov eax, DWORD PTR _flags$9855[ebp]
push eax
push -1
push 1065353216 ; 3f800000H
push 3
push 64 ; 00000040H
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10424
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+12]
fstp QWORD PTR -60+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call _rand
mov DWORD PTR -64+[ebp], eax
fild DWORD PTR -64+[ebp]
fmul DWORD PTR [esi+12]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul QWORD PTR __real@8@3ffe8000000000000000
fadd QWORD PTR -60+[ebp]
fstp DWORD PTR _speed$9861[ebp]
; Line 10425
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+16]
fstp QWORD PTR -72+[ebp]
mov ecx, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [ecx+4]
call _rand
mov DWORD PTR -76+[ebp], eax
fild DWORD PTR -76+[ebp]
fmul DWORD PTR [esi+16]
fdiv DWORD PTR __real@4@400dfffe000000000000
fmul QWORD PTR __real@8@3ffe8000000000000000
fadd QWORD PTR -72+[ebp]
fstp DWORD PTR _delta_vel$9864[ebp]
; Line 10427
lea edx, DWORD PTR _speed$9861[ebp]
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10428
lea ecx, DWORD PTR _delta_vel$9864[ebp]
push ecx
push 1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10430
call _rand
mov DWORD PTR -80+[ebp], eax
fild DWORD PTR -80+[ebp]
fadd ST(0), ST(0)
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
fstp DWORD PTR [ecx+8]
; Line 10431
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR _timescaler$9860[ebp]
fmul DWORD PTR [eax+8]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
$L9859:
; Line 10435
jmp $L9849
$L9869:
; Line 10439
push 0
lea eax, DWORD PTR _used$9870[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10441
mov edx, DWORD PTR _used$9870[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L9873
; Line 10444
push 0
lea eax, DWORD PTR _flags$9872[ebp]
push eax
push 36 ; 00000024H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10446
mov edx, DWORD PTR _flags$9872[ebp]
and edx, 1
test edx, edx
jne SHORT $L9873
; Line 10448
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_ClearGoal@@3P6AXHH@ZA ; AI_ClearGoal
add esp, 8
$L9873:
; Line 10452
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 12 ; 0000000cH
push edx
push 0
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10453
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
add edx, 16 ; 00000010H
push edx
push 1
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10454
call _rand
mov DWORD PTR -84+[ebp], eax
fild DWORD PTR -84+[ebp]
fmul DWORD PTR __real@4@4001a000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
$L9849:
; Line 10459
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 10460
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR [eax], cl
; Line 10461
pop esi
mov esp, ebp
pop ebp
ret 8
?SetMode@SniperNoRun@@AAEXHD@Z ENDP ; SniperNoRun::SetMode
_TEXT ENDS
PUBLIC ?DoInit@SniperNoRun@@AAEXH@Z ; SniperNoRun::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@SniperNoRun@@AAEXH@Z PROC NEAR ; SniperNoRun::DoInit
; Line 10464
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 10466
mov WORD PTR _ch$[ebp+8], 4
; Line 10467
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 10468
mov DWORD PTR _ch$[ebp], 0
; Line 10469
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 10471
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 10473
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10474
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 1
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10476
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SniperNoRun@@AAEXHD@Z ; SniperNoRun::SetMode
; Line 10477
mov esp, ebp
pop ebp
ret 4
?DoInit@SniperNoRun@@AAEXH@Z ENDP ; SniperNoRun::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@SniperNoRun@@AAEXH@Z ; SniperNoRun::DoFrame
_DATA SEGMENT
$SG9889 DB 'd3bot20', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -932
_m$ = -924
_orbot_id$ = -4
_used$9891 = -928
?DoFrame@SniperNoRun@@AAEXH@Z PROC NEAR ; SniperNoRun::DoFrame
; Line 10480
push ebp
mov ebp, esp
sub esp, 932 ; 000003a4H
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10482
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _m$[ebp+44], eax
; Line 10483
lea ecx, DWORD PTR _m$[ebp]
push ecx
push 31 ; 0000001fH
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 10484
push OFFSET FLAT:$SG9889
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _orbot_id$[ebp], eax
; Line 10486
mov edx, DWORD PTR _m$[ebp+72]
cmp edx, DWORD PTR _orbot_id$[ebp]
je SHORT $L9892
; Line 10489
push 0
lea eax, DWORD PTR _used$9891[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10491
mov edx, DWORD PTR _used$9891[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L9892
; Line 10493
jmp SHORT $L9886
$L9892:
; Line 10510
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR [eax+4]
fnstsw ax
test ah, 1
je SHORT $L9895
; Line 10512
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
test eax, eax
jne SHORT $L9894
; Line 10513
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SniperNoRun@@AAEXHD@Z ; SniperNoRun::SetMode
; Line 10514
jmp SHORT $L9895
$L9894:
; Line 10515
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@SniperNoRun@@AAEXHD@Z ; SniperNoRun::SetMode
$L9895:
; Line 10518
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
$L9886:
; Line 10519
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@SniperNoRun@@AAEXH@Z ENDP ; SniperNoRun::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@SniperNoRun@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; SniperNoRun::CallEvent
; Line 10522
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 10524
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9902
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11665[eax]
jmp DWORD PTR $L11666[edx*4]
$L9905:
; Line 10526
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@SniperNoRun@@AAEXH@Z ; SniperNoRun::DoInit
; Line 10527
jmp SHORT $L9902
$L9906:
; Line 10529
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@SniperNoRun@@AAEXH@Z ; SniperNoRun::DoFrame
; Line 10530
jmp SHORT $L9902
$L9907:
; Line 10532
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@SniperNoRun@@AAE_NHPAUtOSIRISEventInfo@@@Z ; SniperNoRun::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9900
$L9908:
; Line 10536
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9902:
; Line 10540
mov ax, 257 ; 00000101H
$L9900:
; Line 10541
mov esp, ebp
pop ebp
ret 8
$L11666:
DD $L9906
DD $L9907
DD $L9905
DD $L9908
DD $L9902
$L11665:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@SniperNoRun@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; SniperNoRun::CallEvent
_TEXT ENDS
PUBLIC ?DoNotify@EvaderModA@@AAE_NHPAUtOSIRISEventInfo@@@Z ; EvaderModA::DoNotify
_TEXT SEGMENT
_this$ = -4
?DoNotify@EvaderModA@@AAE_NHPAUtOSIRISEventInfo@@@Z PROC NEAR ; EvaderModA::DoNotify
; Line 10551
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 10552
mov al, 1
; Line 10553
mov esp, ebp
pop ebp
ret 8
?DoNotify@EvaderModA@@AAE_NHPAUtOSIRISEventInfo@@@Z ENDP ; EvaderModA::DoNotify
_TEXT ENDS
PUBLIC ?SetMode@EvaderModA@@AAEXHD@Z ; EvaderModA::SetMode
_TEXT SEGMENT
_me$ = 8
_mode$ = 12
_this$ = -32
_vec$9926 = -8
_flags$9927 = -4
_used$9937 = -24
_flags$9939 = -28
?SetMode@EvaderModA@@AAEXHD@Z PROC NEAR ; EvaderModA::SetMode
; Line 10556
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov DWORD PTR _this$[ebp], ecx
; Line 10558
mov al, BYTE PTR _mode$[ebp]
mov BYTE PTR -36+[ebp], al
cmp BYTE PTR -36+[ebp], 0
je $L9936
cmp BYTE PTR -36+[ebp], 1
je SHORT $L9924
jmp $L9921
$L9924:
; Line 10564
mov DWORD PTR _flags$9927[ebp], 65544 ; 00010008H
; Line 10566
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 50 ; 00000032H
jle SHORT $L9928
; Line 10568
mov DWORD PTR _vec$9926[ebp], 1
; Line 10569
call _rand
mov DWORD PTR -40+[ebp], eax
fild DWORD PTR -40+[ebp]
fmul DWORD PTR __real@4@4001e000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
; Line 10571
jmp SHORT $L9931
$L9928:
; Line 10573
call _rand
cdq
mov ecx, 100 ; 00000064H
idiv ecx
cmp edx, 50 ; 00000032H
jle SHORT $L9932
; Line 10575
mov DWORD PTR _vec$9926[ebp], 3
; Line 10577
jmp SHORT $L9933
$L9932:
; Line 10579
mov DWORD PTR _vec$9926[ebp], 2
$L9933:
; Line 10581
call _rand
mov DWORD PTR -44+[ebp], eax
fild DWORD PTR -44+[ebp]
fmul DWORD PTR __real@4@40018000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
fadd DWORD PTR __real@4@40008000000000000000
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fstp DWORD PTR [eax+8]
$L9931:
; Line 10584
mov ecx, DWORD PTR _vec$9926[ebp]
push ecx
push 0
push -1073741804 ; c0000014H
push -1
push 1065353216 ; 3f800000H
push 0
push 262144 ; 00040000H
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 32 ; 00000020H
; Line 10586
jmp $L9921
$L9936:
; Line 10589
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10590
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 1
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10593
push 0
lea eax, DWORD PTR _used$9937[ebp]
push eax
push 50 ; 00000032H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10595
mov edx, DWORD PTR _used$9937[ebp]
and edx, 255 ; 000000ffH
test edx, edx
je SHORT $L9940
; Line 10598
push 0
lea eax, DWORD PTR _flags$9939[ebp]
push eax
push 36 ; 00000024H
push 1
push 3
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10600
mov edx, DWORD PTR _flags$9939[ebp]
and edx, 1
test edx, edx
jne SHORT $L9940
; Line 10602
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_ClearGoal@@3P6AXHH@ZA ; AI_ClearGoal
add esp, 8
$L9940:
; Line 10606
call _rand
mov DWORD PTR -48+[ebp], eax
fild DWORD PTR -48+[ebp]
fmul DWORD PTR __real@4@40018000000000000000
fdiv DWORD PTR __real@4@400dfffe000000000000
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+8]
$L9921:
; Line 10611
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [ecx+4], 0
; Line 10612
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov cl, BYTE PTR _mode$[ebp]
mov BYTE PTR [eax], cl
; Line 10613
mov esp, ebp
pop ebp
ret 8
?SetMode@EvaderModA@@AAEXHD@Z ENDP ; EvaderModA::SetMode
_TEXT ENDS
PUBLIC ?DoInit@EvaderModA@@AAEXH@Z ; EvaderModA::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@EvaderModA@@AAEXH@Z PROC NEAR ; EvaderModA::DoInit
; Line 10616
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 10618
mov WORD PTR _ch$[ebp+8], 4
; Line 10619
mov DWORD PTR _ch$[ebp+12], 20 ; 00000014H
; Line 10620
mov DWORD PTR _ch$[ebp], 0
; Line 10621
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 10623
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 10625
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 12 ; 0000000cH
push ecx
push 0
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10626
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
add ecx, 16 ; 00000010H
push ecx
push 1
push 1
mov edx, DWORD PTR _me$[ebp]
push edx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10628
push 0
mov eax, DWORD PTR _me$[ebp]
push eax
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@EvaderModA@@AAEXHD@Z ; EvaderModA::SetMode
; Line 10629
mov esp, ebp
pop ebp
ret 4
?DoInit@EvaderModA@@AAEXH@Z ENDP ; EvaderModA::DoInit
_TEXT ENDS
PUBLIC ?DoFrame@EvaderModA@@AAEXH@Z ; EvaderModA::DoFrame
_TEXT SEGMENT
_me$ = 8
_this$ = -12
_awareness$ = -8
_used$ = -4
?DoFrame@EvaderModA@@AAEXH@Z PROC NEAR ; EvaderModA::DoFrame
; Line 10632
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
push esi
mov DWORD PTR _this$[ebp], ecx
; Line 10634
lea eax, DWORD PTR _awareness$[ebp]
push eax
push 50 ; 00000032H
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_Value@@3P6AXHDDPAX@ZA ; AI_Value
add esp, 16 ; 00000010H
; Line 10637
push 0
lea edx, DWORD PTR _used$[ebp]
push edx
push 50 ; 00000032H
push 1
push 3
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_GoalValue@@3P6A_NHDDDPAXD@ZA ; AI_GoalValue
add esp, 24 ; 00000018H
; Line 10639
mov ecx, DWORD PTR _used$[ebp]
and ecx, 255 ; 000000ffH
test ecx, ecx
je SHORT $L9956
; Line 10641
jmp $L9953
$L9956:
; Line 10644
fld DWORD PTR _awareness$[ebp]
fcomp DWORD PTR __real@4@4002f000000000000000
fnstsw ax
test ah, 65 ; 00000041H
je SHORT $L9957
; Line 10646
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
movsx ecx, BYTE PTR [eax]
test ecx, ecx
je SHORT $L9958
; Line 10648
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@EvaderModA@@AAEXHD@Z ; EvaderModA::SetMode
$L9958:
; Line 10651
jmp SHORT $L9953
$L9957:
; Line 10654
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [ecx+8]
fcomp DWORD PTR [eax+4]
fnstsw ax
test ah, 1
je SHORT $L9961
; Line 10656
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
movsx eax, BYTE PTR [edx]
test eax, eax
jne SHORT $L9960
; Line 10657
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@EvaderModA@@AAEXHD@Z ; EvaderModA::SetMode
; Line 10658
jmp SHORT $L9961
$L9960:
; Line 10659
push 0
mov edx, DWORD PTR _me$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?SetMode@EvaderModA@@AAEXHD@Z ; EvaderModA::SetMode
$L9961:
; Line 10662
mov eax, DWORD PTR _this$[ebp]
mov esi, DWORD PTR [eax+4]
call DWORD PTR ?Game_GetFrameTime@@3P6AMXZA ; Game_GetFrameTime
fadd DWORD PTR [esi+4]
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
fstp DWORD PTR [edx+4]
$L9953:
; Line 10663
pop esi
mov esp, ebp
pop ebp
ret 4
?DoFrame@EvaderModA@@AAEXH@Z ENDP ; EvaderModA::DoFrame
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@EvaderModA@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; EvaderModA::CallEvent
; Line 10666
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 10668
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 257 ; 00000101H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 24 ; 00000018H
ja SHORT $L9968
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11672[eax]
jmp DWORD PTR $L11673[edx*4]
$L9971:
; Line 10670
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@EvaderModA@@AAEXH@Z ; EvaderModA::DoInit
; Line 10671
jmp SHORT $L9968
$L9972:
; Line 10673
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoFrame@EvaderModA@@AAEXH@Z ; EvaderModA::DoFrame
; Line 10674
jmp SHORT $L9968
$L9973:
; Line 10676
mov edx, DWORD PTR _data$[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoNotify@EvaderModA@@AAE_NHPAUtOSIRISEventInfo@@@Z ; EvaderModA::DoNotify
and eax, 255 ; 000000ffH
neg eax
sbb eax, eax
and eax, 257 ; 00000101H
jmp SHORT $L9966
$L9974:
; Line 10680
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR [edx+4], ecx
$L9968:
; Line 10684
mov ax, 257 ; 00000101H
$L9966:
; Line 10685
mov esp, ebp
pop ebp
ret 8
$L11673:
DD $L9972
DD $L9973
DD $L9971
DD $L9974
DD $L9968
$L11672:
DB 0
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 1
DB 2
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 4
DB 3
?CallEvent@EvaderModA@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; EvaderModA::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@Seeker@@AAEXH@Z ; Seeker::DoInit
PUBLIC ?GetObjectParent@@YAHH@Z ; GetObjectParent
PUBLIC ?GetObjectType@@YAHH@Z ; GetObjectType
_DATA SEGMENT
$SG9982 DB 'HumonSeeker', 00H
$SG9990 DB 'Drop bomb', 00H
_DATA ENDS
_TEXT SEGMENT
$T11675 = -80
$T11676 = -92
$T11677 = -104
$T11678 = -116
_me$ = 8
_this$ = -120
_id$ = -20
_humon_seeker_id$ = -12
_velocity$9984 = -68
_orient$9985 = -56
_parent$ = -16
_sound_id$ = -8
_p_type$ = -4
?DoInit@Seeker@@AAEXH@Z PROC NEAR ; Seeker::DoInit
; Line 10693
push ebp
mov ebp, esp
sub esp, 120 ; 00000078H
mov DWORD PTR _this$[ebp], ecx
; Line 10694
push 5
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?AI_SetType@@3P6AXHH@ZA ; AI_SetType
add esp, 8
; Line 10695
push -1
push 144 ; 00000090H
push -1
push 1065353216 ; 3f800000H
push 1
push 4
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?AI_AddGoal@@3P6AMHHHMHHZZA ; AI_AddGoal
fstp ST(0)
add esp, 28 ; 0000001cH
; Line 10700
push 0
lea edx, DWORD PTR _id$[ebp]
push edx
push 2
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10701
push OFFSET FLAT:$SG9982
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov WORD PTR _humon_seeker_id$[ebp], ax
; Line 10703
mov ecx, DWORD PTR _humon_seeker_id$[ebp]
and ecx, 65535 ; 0000ffffH
mov edx, DWORD PTR _id$[ebp]
and edx, 65535 ; 0000ffffH
cmp ecx, edx
jne $L9983
; Line 10707
push 0
lea eax, DWORD PTR _velocity$9984[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10708
push 0
lea edx, DWORD PTR _orient$9985[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10710
push 1112014848 ; 42480000H
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$9985[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$9985[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$9985[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11677[ebp]
push eax
call ??D@YA?AUvector@@U0@M@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11676[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11676[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11676[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11676[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11676[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11676[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR _velocity$9984[ebp]
push eax
lea ecx, DWORD PTR $T11678[ebp]
push ecx
call ??Y@YA?AUvector@@AAU0@U0@@Z ; operator+=
add esp, 20 ; 00000014H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11675[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11675[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11675[ebp+8], edx
; Line 10712
push 0
lea eax, DWORD PTR _velocity$9984[ebp]
push eax
push 6
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L9983:
; Line 10715
mov edx, DWORD PTR _me$[ebp]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$[ebp], eax
; Line 10716
push OFFSET FLAT:$SG9990
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _sound_id$[ebp], eax
; Line 10717
mov eax, DWORD PTR _parent$[ebp]
push eax
call ?GetObjectType@@YAHH@Z ; GetObjectType
add esp, 4
mov DWORD PTR _p_type$[ebp], eax
; Line 10719
cmp DWORD PTR _sound_id$[ebp], 0
jl SHORT $L9992
cmp DWORD PTR _p_type$[ebp], 4
jne SHORT $L9992
; Line 10721
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _sound_id$[ebp]
push ecx
mov edx, DWORD PTR _parent$[ebp]
push edx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L9992:
; Line 10723
mov esp, ebp
pop ebp
ret 4
?DoInit@Seeker@@AAEXH@Z ENDP ; Seeker::DoInit
_TEXT ENDS
PUBLIC ?DoCollide@Seeker@@AAEXH@Z ; Seeker::DoCollide
_DATA SEGMENT
ORG $+2
$SG10000 DB 'SeekerExplosion', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -944
_room$ = -928
_pos$ = -940
_weapon_id$ = -4
_mo$ = -924
?DoCollide@Seeker@@AAEXH@Z PROC NEAR ; Seeker::DoCollide
; Line 10726
push ebp
mov ebp, esp
sub esp, 944 ; 000003b0H
mov DWORD PTR _this$[ebp], ecx
; Line 10731
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10732
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10734
push OFFSET FLAT:$SG10000
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$[ebp], eax
; Line 10735
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
mov eax, DWORD PTR _room$[ebp]
push eax
mov cx, WORD PTR _weapon_id$[ebp]
push ecx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
; Line 10738
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _mo$[ebp+44], edx
; Line 10739
mov BYTE PTR _mo$[ebp+108], 0
; Line 10741
lea eax, DWORD PTR _mo$[ebp]
push eax
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 10742
mov esp, ebp
pop ebp
ret 4
?DoCollide@Seeker@@AAEXH@Z ENDP ; Seeker::DoCollide
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@Seeker@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Seeker::CallEvent
; Line 10745
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 10747
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 259 ; 00000103H
je SHORT $L10012
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L10011
jmp SHORT $L10008
$L10011:
; Line 10749
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@Seeker@@AAEXH@Z ; Seeker::DoInit
; Line 10750
jmp SHORT $L10008
$L10012:
; Line 10752
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@Seeker@@AAEXH@Z ; Seeker::DoCollide
$L10008:
; Line 10755
mov ax, 257 ; 00000101H
; Line 10756
mov esp, ebp
pop ebp
ret 8
?CallEvent@Seeker@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Seeker::CallEvent
_object$ = 8
_ms$ = -920
?GetObjectParent@@YAHH@Z PROC NEAR ; GetObjectParent
; Line 10760
push ebp
mov ebp, esp
sub esp, 920 ; 00000398H
; Line 10762
mov eax, DWORD PTR _object$[ebp]
mov DWORD PTR _ms$[ebp+44], eax
; Line 10764
lea ecx, DWORD PTR _ms$[ebp]
push ecx
push 52 ; 00000034H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 10766
mov eax, DWORD PTR _ms$[ebp+44]
; Line 10767
mov esp, ebp
pop ebp
ret 0
?GetObjectParent@@YAHH@Z ENDP ; GetObjectParent
_object$ = 8
_ms$ = -920
?GetObjectType@@YAHH@Z PROC NEAR ; GetObjectType
; Line 10770
push ebp
mov ebp, esp
sub esp, 920 ; 00000398H
; Line 10772
mov eax, DWORD PTR _object$[ebp]
mov DWORD PTR _ms$[ebp+44], eax
; Line 10773
lea ecx, DWORD PTR _ms$[ebp]
push ecx
push 30 ; 0000001eH
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 10775
mov eax, DWORD PTR _ms$[ebp+68]
; Line 10776
mov esp, ebp
pop ebp
ret 0
?GetObjectType@@YAHH@Z ENDP ; GetObjectType
_TEXT ENDS
PUBLIC ?ObjectDamage@@YAXHMH@Z ; ObjectDamage
_TEXT SEGMENT
_object$ = 8
_amount$ = 12
_killer$ = 16
_mstruct$ = -920
?ObjectDamage@@YAXHMH@Z PROC NEAR ; ObjectDamage
; Line 10780
push ebp
mov ebp, esp
sub esp, 920 ; 00000398H
; Line 10783
mov eax, DWORD PTR _object$[ebp]
mov DWORD PTR _mstruct$[ebp+44], eax
; Line 10784
mov ecx, DWORD PTR _killer$[ebp]
mov DWORD PTR _mstruct$[ebp+100], ecx
; Line 10785
mov BYTE PTR _mstruct$[ebp+96], 0
; Line 10786
mov edx, DWORD PTR _amount$[ebp]
mov DWORD PTR _mstruct$[ebp+92], edx
; Line 10788
lea eax, DWORD PTR _mstruct$[ebp]
push eax
push 29 ; 0000001dH
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 10789
mov esp, ebp
pop ebp
ret 0
?ObjectDamage@@YAXHMH@Z ENDP ; ObjectDamage
_TEXT ENDS
PUBLIC ?GetObjectShields@@YAMH@Z ; GetObjectShields
_TEXT SEGMENT
_object$ = 8
_mstruct$ = -920
?GetObjectShields@@YAMH@Z PROC NEAR ; GetObjectShields
; Line 10792
push ebp
mov ebp, esp
sub esp, 920 ; 00000398H
; Line 10795
mov eax, DWORD PTR _object$[ebp]
mov DWORD PTR _mstruct$[ebp+44], eax
; Line 10796
lea ecx, DWORD PTR _mstruct$[ebp]
push ecx
push 20 ; 00000014H
call DWORD PTR ?MSafe_GetValue@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_GetValue
add esp, 8
; Line 10798
fld DWORD PTR _mstruct$[ebp+52]
; Line 10799
mov esp, ebp
pop ebp
ret 0
?GetObjectShields@@YAMH@Z ENDP ; GetObjectShields
_TEXT ENDS
PUBLIC ?ObjectRemove@@YAXH@Z ; ObjectRemove
_TEXT SEGMENT
_object$ = 8
_ms$ = -920
?ObjectRemove@@YAXH@Z PROC NEAR ; ObjectRemove
; Line 10802
push ebp
mov ebp, esp
sub esp, 920 ; 00000398H
; Line 10804
mov eax, DWORD PTR _object$[ebp]
mov DWORD PTR _ms$[ebp+44], eax
; Line 10805
mov BYTE PTR _ms$[ebp+108], 0
; Line 10806
lea ecx, DWORD PTR _ms$[ebp]
push ecx
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 10807
mov esp, ebp
pop ebp
ret 0
?ObjectRemove@@YAXH@Z ENDP ; ObjectRemove
_TEXT ENDS
_DATA SEGMENT
$SG10056 DB 'Betty', 00H
ORG $+2
$SG10076 DB 'Drop bomb', 00H
_DATA ENDS
_TEXT SEGMENT
$T11687 = -244
$T11688 = -256
$T11689 = -268
$T11690 = -280
$T11691 = -292
$T11692 = -304
$T11693 = -316
$T11694 = -328
$T11695 = -340
$T11696 = -352
$T11697 = -364
$T11698 = -376
$T11699 = -388
$T11700 = -400
$T11701 = -412
$T11702 = -424
$T11703 = -436
$T11704 = -448
$T11705 = -460
$T11706 = -472
$T11707 = -484
$T11708 = -496
$T11709 = -508
$T11710 = -520
$T11711 = -532
$T11712 = -544
$T11713 = -556
$T11714 = -568
_event$ = 8
_data$ = 12
_this$ = -572
_ch$10051 = -24
_parent$10054 = -8
_child_id$10055 = -4
_child_handle$10058 = -40
_orient$10059 = -164
_vel$10063 = -36
_pos$10064 = -192
_v$10065 = -128
_room$10067 = -168
_type$10072 = -116
_sound_id$10075 = -232
?CallEvent@BettyBomb@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; BettyBomb::CallEvent
; Line 10814
push ebp
mov ebp, esp
sub esp, 576 ; 00000240H
mov DWORD PTR _this$[ebp], ecx
; Line 10816
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -576+[ebp], eax
cmp DWORD PTR -576+[ebp], 256 ; 00000100H
je $L10088
cmp DWORD PTR -576+[ebp], 260 ; 00000104H
je SHORT $L10050
cmp DWORD PTR -576+[ebp], 281 ; 00000119H
je SHORT $L10048
jmp $L10045
$L10048:
; Line 10819
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
; Line 10820
jmp $L10045
$L10050:
; Line 10826
mov WORD PTR _ch$10051[ebp+8], 4
; Line 10827
mov DWORD PTR _ch$10051[ebp+12], 1
; Line 10828
mov DWORD PTR _ch$10051[ebp], 0
; Line 10829
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
mov DWORD PTR _ch$10051[ebp+4], edx
; Line 10831
lea eax, DWORD PTR _ch$10051[ebp]
push eax
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov ecx, DWORD PTR _this$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 10833
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax], 0
; Line 10836
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$10054[ebp], eax
; Line 10837
push OFFSET FLAT:$SG10056
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _child_id$10055[ebp], eax
; Line 10839
cmp DWORD PTR _parent$10054[ebp], -1
je $L10057
cmp DWORD PTR _child_id$10055[ebp], -1
je $L10057
; Line 10846
push 0
lea eax, DWORD PTR _orient$10059[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _parent$10054[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10847
push 0
lea edx, DWORD PTR _vel$10063[ebp]
push edx
push 6
push 1
mov eax, DWORD PTR _parent$10054[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10848
push 0
lea ecx, DWORD PTR _room$10067[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _parent$10054[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10849
push 0
lea eax, DWORD PTR _pos$10064[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _parent$10054[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
; Line 10865
add esp, 8
mov edx, esp
mov eax, DWORD PTR _orient$10059[ebp+24]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR _orient$10059[ebp+28]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR _orient$10059[ebp+32]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T11690[ebp]
push ecx
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11689[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11689[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11689[ebp+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$10059[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$10059[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$10059[ebp+8]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR $T11689[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR $T11689[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR $T11689[ebp+8]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T11691[ebp]
push ecx
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11688[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11688[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11688[ebp+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR _orient$10059[ebp+12]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR _orient$10059[ebp+16]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR _orient$10059[ebp+20]
mov DWORD PTR [eax+8], ecx
sub esp, 12 ; 0000000cH
mov edx, esp
mov eax, DWORD PTR $T11688[ebp]
mov DWORD PTR [edx], eax
mov ecx, DWORD PTR $T11688[ebp+4]
mov DWORD PTR [edx+4], ecx
mov eax, DWORD PTR $T11688[ebp+8]
mov DWORD PTR [edx+8], eax
lea ecx, DWORD PTR $T11692[ebp]
push ecx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov edx, DWORD PTR [eax]
mov DWORD PTR $T11687[ebp], edx
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR $T11687[ebp+4], ecx
mov edx, DWORD PTR [eax+8]
mov DWORD PTR $T11687[ebp+8], edx
mov eax, DWORD PTR $T11687[ebp]
mov DWORD PTR _v$10065[ebp], eax
mov ecx, DWORD PTR $T11687[ebp+4]
mov DWORD PTR _v$10065[ebp+4], ecx
mov edx, DWORD PTR $T11687[ebp+8]
mov DWORD PTR _v$10065[ebp+8], edx
; Line 10866
lea eax, DWORD PTR _v$10065[ebp]
push eax
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 10867
push 1106247680 ; 41f00000H
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
lea edx, DWORD PTR $T11694[ebp]
push edx
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11693[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11693[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11693[ebp+8], eax
; Line 10870
mov ecx, DWORD PTR _parent$10054[ebp]
push ecx
call ?GetObjectType@@YAHH@Z ; GetObjectType
add esp, 4
mov DWORD PTR _type$10072[ebp], eax
; Line 10872
cmp DWORD PTR _type$10072[ebp], 4
je SHORT $L10074
cmp DWORD PTR _type$10072[ebp], 12 ; 0000000cH
jne SHORT $L10077
$L10074:
; Line 10873
push OFFSET FLAT:$SG10076
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _sound_id$10075[ebp], eax
; Line 10875
cmp DWORD PTR _sound_id$10075[ebp], 0
jl SHORT $L10077
; Line 10877
push 1065353216 ; 3f800000H
mov edx, DWORD PTR _sound_id$10075[ebp]
push edx
mov eax, DWORD PTR _parent$10054[ebp]
push eax
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L10077:
; Line 10882
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
mov edx, DWORD PTR _parent$10054[ebp]
push edx
lea eax, DWORD PTR _orient$10059[ebp]
push eax
lea ecx, DWORD PTR _pos$10064[ebp]
push ecx
mov edx, DWORD PTR _room$10067[ebp]
push edx
mov ax, WORD PTR _child_id$10055[ebp]
push eax
push 2
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _child_handle$10058[ebp], eax
; Line 10885
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+8]
mov DWORD PTR [ecx+8], edx
push 1050253722 ; 3e99999aH
lea eax, DWORD PTR $T11698[ebp]
push eax
call ??D@YA?AUvector@@MU0@@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11697[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11697[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11697[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11700[ebp]
push eax
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11699[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11699[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11699[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11697[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11697[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11697[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11699[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11699[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11699[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11701[ebp]
push edx
call ??H@YA?AUvector@@U0@0@Z ; operator+
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11696[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11696[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11696[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp+12]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+16]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+20]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11696[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11696[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11696[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11702[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11695[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11695[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11695[ebp+8], eax
mov ecx, DWORD PTR $T11695[ebp]
mov DWORD PTR _v$10065[ebp], ecx
mov edx, DWORD PTR $T11695[ebp+4]
mov DWORD PTR _v$10065[ebp+4], edx
mov eax, DWORD PTR $T11695[ebp+8]
mov DWORD PTR _v$10065[ebp+8], eax
; Line 10886
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 10887
push 1106247680 ; 41f00000H
lea edx, DWORD PTR _v$10065[ebp]
push edx
lea eax, DWORD PTR $T11704[ebp]
push eax
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11703[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11703[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11703[ebp+8], eax
; Line 10888
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
mov edx, DWORD PTR _parent$10054[ebp]
push edx
lea eax, DWORD PTR _orient$10059[ebp]
push eax
lea ecx, DWORD PTR _pos$10064[ebp]
push ecx
mov edx, DWORD PTR _room$10067[ebp]
push edx
mov ax, WORD PTR _child_id$10055[ebp]
push eax
push 2
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _child_handle$10058[ebp], eax
; Line 10891
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+8]
mov DWORD PTR [ecx+8], edx
push 1050253722 ; 3e99999aH
lea eax, DWORD PTR $T11708[ebp]
push eax
call ??D@YA?AUvector@@MU0@@Z ; operator*
add esp, 20 ; 00000014H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11707[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11707[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11707[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp+24]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+28]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+32]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11710[ebp]
push eax
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11709[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11709[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11709[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR $T11707[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR $T11707[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR $T11707[ebp+8]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11709[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11709[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11709[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11711[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11706[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11706[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11706[ebp+8], eax
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _orient$10059[ebp+12]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _orient$10059[ebp+16]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _orient$10059[ebp+20]
mov DWORD PTR [ecx+8], edx
sub esp, 12 ; 0000000cH
mov eax, esp
mov ecx, DWORD PTR $T11706[ebp]
mov DWORD PTR [eax], ecx
mov edx, DWORD PTR $T11706[ebp+4]
mov DWORD PTR [eax+4], edx
mov ecx, DWORD PTR $T11706[ebp+8]
mov DWORD PTR [eax+8], ecx
lea edx, DWORD PTR $T11712[ebp]
push edx
call ??G@YA?AUvector@@U0@0@Z ; operator-
add esp, 28 ; 0000001cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11705[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11705[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11705[ebp+8], eax
mov ecx, DWORD PTR $T11705[ebp]
mov DWORD PTR _v$10065[ebp], ecx
mov edx, DWORD PTR $T11705[ebp+4]
mov DWORD PTR _v$10065[ebp+4], edx
mov eax, DWORD PTR $T11705[ebp+8]
mov DWORD PTR _v$10065[ebp+8], eax
; Line 10892
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
call ?vm_VectorNormalize@@YAMPAUvector@@@Z ; vm_VectorNormalize
fstp ST(0)
add esp, 4
; Line 10893
push 1106247680 ; 41f00000H
lea edx, DWORD PTR _v$10065[ebp]
push edx
lea eax, DWORD PTR $T11714[ebp]
push eax
call ??X@YA?AUvector@@AAU0@M@Z ; operator*=
add esp, 12 ; 0000000cH
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11713[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11713[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11713[ebp+8], eax
; Line 10894
lea ecx, DWORD PTR _v$10065[ebp]
push ecx
mov edx, DWORD PTR _parent$10054[ebp]
push edx
lea eax, DWORD PTR _orient$10059[ebp]
push eax
lea ecx, DWORD PTR _pos$10064[ebp]
push ecx
mov edx, DWORD PTR _room$10067[ebp]
push edx
mov ax, WORD PTR _child_id$10055[ebp]
push eax
push 2
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _child_handle$10058[ebp], eax
$L10057:
; Line 10897
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx], 1
; Line 10899
jmp SHORT $L10045
$L10088:
; Line 10902
mov eax, DWORD PTR _this$[ebp]
cmp DWORD PTR [eax+4], 0
je SHORT $L10089
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx]
test eax, eax
je SHORT $L10089
; Line 10904
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call ?ObjectRemove@@YAXH@Z ; ObjectRemove
add esp, 4
$L10089:
$L10045:
; Line 10909
mov ax, 257 ; 00000101H
; Line 10910
mov esp, ebp
pop ebp
ret 8
?CallEvent@BettyBomb@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; BettyBomb::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@BettyScript@@IAEXH@Z ; BettyScript::DoInit
_TEXT SEGMENT
_me$ = 8
_this$ = -20
_ch$ = -16
?DoInit@BettyScript@@IAEXH@Z PROC NEAR ; BettyScript::DoInit
; Line 10914
push ebp
mov ebp, esp
sub esp, 20 ; 00000014H
mov DWORD PTR _this$[ebp], ecx
; Line 10916
mov WORD PTR _ch$[ebp+8], 4
; Line 10917
mov DWORD PTR _ch$[ebp+12], 8
; Line 10918
mov DWORD PTR _ch$[ebp], 0
; Line 10919
mov eax, DWORD PTR _me$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 10921
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 10923
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 0
; Line 10924
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [eax+4], 0
; Line 10925
mov esp, ebp
pop ebp
ret 4
?DoInit@BettyScript@@IAEXH@Z ENDP ; BettyScript::DoInit
_TEXT ENDS
PUBLIC __real@8@bffe8000000000000000
PUBLIC __real@8@3ffbccccccccccccd000
PUBLIC __real@4@4005f000000000000000
_DATA SEGMENT
ORG $+2
$SG10123 DB 'TubbsHitBlast', 00H
_DATA ENDS
; COMDAT __real@8@bffe8000000000000000
; File aigame.cpp
CONST SEGMENT
__real@8@bffe8000000000000000 DQ 0bfe0000000000000r ; -0.5
CONST ENDS
; COMDAT __real@8@3ffbccccccccccccd000
CONST SEGMENT
__real@8@3ffbccccccccccccd000 DQ 03fb999999999999ar ; 0.1
CONST ENDS
; COMDAT __real@4@4005f000000000000000
CONST SEGMENT
__real@4@4005f000000000000000 DD 042f00000r ; 120
CONST ENDS
_TEXT SEGMENT
_event$ = 8
_data$ = 12
_this$ = -148
_parent$10109 = -44
_vel$10111 = -36
_timer_info$10113 = -24
_velmag$10115 = -60
_vel$10116 = -56
_orient$10119 = -100
_room$10120 = -104
_pos$10121 = -116
_weapon_id$10122 = -64
_time$10125 = -136
_velmag$10126 = -140
_scale$10127 = -132
_vel$10128 = -128
_amount$10133 = -144
?CallEvent@BettyScript@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; BettyScript::CallEvent
; File aigame.cpp
; Line 10928
push ebp
mov ebp, esp
sub esp, 152 ; 00000098H
mov DWORD PTR _this$[ebp], ecx
; Line 10930
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -152+[ebp], eax
mov ecx, DWORD PTR -152+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -152+[ebp], ecx
cmp DWORD PTR -152+[ebp], 25 ; 00000019H
ja $L10103
mov eax, DWORD PTR -152+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11723[eax]
jmp DWORD PTR $L11724[edx*4]
$L10106:
; Line 10933
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
; Line 10934
jmp $L10103
$L10108:
; Line 10939
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@BettyScript@@IAEXH@Z ; BettyScript::DoInit
; Line 10944
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$10109[ebp], eax
; Line 10946
cmp DWORD PTR _parent$10109[ebp], -1
je SHORT $L10112
; Line 10948
push 0
lea edx, DWORD PTR _vel$10111[ebp]
push edx
push 6
push 1
mov eax, DWORD PTR _parent$10109[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10949
fld DWORD PTR _vel$10111[ebp]
fmul QWORD PTR __real@8@bffe8000000000000000
fstp DWORD PTR _vel$10111[ebp]
; Line 10950
fld DWORD PTR _vel$10111[ebp+4]
fmul QWORD PTR __real@8@bffe8000000000000000
fstp DWORD PTR _vel$10111[ebp+4]
; Line 10951
fld DWORD PTR _vel$10111[ebp+8]
fmul QWORD PTR __real@8@bffe8000000000000000
fstp DWORD PTR _vel$10111[ebp+8]
; Line 10952
push 0
lea ecx, DWORD PTR _vel$10111[ebp]
push ecx
push 6
push 0
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L10112:
; Line 10956
mov WORD PTR _timer_info$10113[ebp], 0
; Line 10957
mov DWORD PTR _timer_info$10113[ebp+8], 0
; Line 10958
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
mov DWORD PTR _timer_info$10113[ebp+12], edx
; Line 10959
mov DWORD PTR _timer_info$10113[ebp+16], -1
; Line 10960
mov DWORD PTR _timer_info$10113[ebp+20], 1097859072 ; 41700000H
; Line 10961
mov eax, DWORD PTR ?aigame_mod_id@@3HA ; aigame_mod_id
shl eax, 16 ; 00000010H
or al, 26 ; 0000001aH
mov DWORD PTR _timer_info$10113[ebp+4], eax
; Line 10962
lea ecx, DWORD PTR _timer_info$10113[ebp]
push ecx
call DWORD PTR ?Scrpt_CreateTimer@@3P6AHPAUtOSIRISTIMER@@@ZA ; Scrpt_CreateTimer
add esp, 4
; Line 10964
jmp $L10103
$L10114:
; Line 10970
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx]
push eax
call ?GetObjectType@@YAHH@Z ; GetObjectType
add esp, 4
cmp eax, 4
jne $L10118
; Line 10972
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx]
test eax, eax
jne $L10118
; Line 10974
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov BYTE PTR [edx], 1
; Line 10977
push 0
lea eax, DWORD PTR _orient$10119[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10979
push 0
lea eax, DWORD PTR _vel$10116[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10980
lea eax, DWORD PTR _vel$10116[ebp]
push eax
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fst DWORD PTR _velmag$10115[ebp]
; Line 10981
fdiv DWORD PTR __real@4@40018000000000000000
fstp DWORD PTR _velmag$10115[ebp]
; Line 10988
push 0
lea ecx, DWORD PTR _room$10120[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10989
push 0
lea ecx, DWORD PTR _pos$10121[ebp]
push ecx
push 3
push 1
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 10991
push OFFSET FLAT:$SG10123
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$10122[ebp], eax
; Line 10992
push 0
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
push eax
lea eax, DWORD PTR _orient$10119[ebp]
push eax
lea ecx, DWORD PTR _pos$10121[ebp]
push ecx
mov edx, DWORD PTR _room$10120[ebp]
push edx
mov ax, WORD PTR _weapon_id$10122[ebp]
push eax
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
; Line 10994
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov eax, DWORD PTR _velmag$10115[ebp]
push eax
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx]
push edx
call ?ObjectDamage@@YAXHMH@Z ; ObjectDamage
add esp, 12 ; 0000000cH
$L10118:
; Line 10997
jmp $L10103
$L10124:
; Line 11003
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+4]
mov DWORD PTR _time$10125[ebp], ecx
; Line 11005
fld DWORD PTR _time$10125[ebp]
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
fld DWORD PTR [eax+4]
fadd QWORD PTR __real@8@3ffbccccccccccccd000
fcompp
fnstsw ax
test ah, 1
je $L10130
; Line 11008
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
mov eax, DWORD PTR _time$10125[ebp]
mov DWORD PTR [edx+4], eax
; Line 11009
push 0
lea ecx, DWORD PTR _vel$10128[ebp]
push ecx
push 6
push 1
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11010
lea ecx, DWORD PTR _vel$10128[ebp]
push ecx
call ?vm_GetMagnitude@@YAMPAUvector@@@Z ; vm_GetMagnitude
add esp, 4
fstp DWORD PTR _velmag$10126[ebp]
; Line 11012
fld DWORD PTR _velmag$10126[ebp]
fcomp DWORD PTR __real@4@4005f000000000000000
fnstsw ax
test ah, 65 ; 00000041H
jne SHORT $L10130
; Line 11015
fld DWORD PTR __real@4@4005f000000000000000
fdiv DWORD PTR _velmag$10126[ebp]
fst DWORD PTR _scale$10127[ebp]
; Line 11016
fmul DWORD PTR _vel$10128[ebp]
fstp DWORD PTR _vel$10128[ebp]
; Line 11017
fld DWORD PTR _scale$10127[ebp]
fmul DWORD PTR _vel$10128[ebp+4]
fstp DWORD PTR _vel$10128[ebp+4]
; Line 11018
fld DWORD PTR _scale$10127[ebp]
fmul DWORD PTR _vel$10128[ebp+8]
fstp DWORD PTR _vel$10128[ebp+8]
; Line 11019
push 0
lea edx, DWORD PTR _vel$10128[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L10130:
; Line 11023
mov edx, DWORD PTR _this$[ebp]
cmp DWORD PTR [edx+4], 0
je SHORT $L10131
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx]
test edx, edx
je SHORT $L10131
; Line 11025
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call ?ObjectRemove@@YAXH@Z ; ObjectRemove
add esp, 4
$L10131:
; Line 11027
jmp SHORT $L10103
$L10132:
; Line 11032
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call ?GetObjectShields@@YAMH@Z ; GetObjectShields
add esp, 4
fadd DWORD PTR __real@4@4002a000000000000000
fstp DWORD PTR _amount$10133[ebp]
; Line 11033
push -1
mov ecx, DWORD PTR _amount$10133[ebp]
push ecx
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call ?ObjectDamage@@YAXHMH@Z ; ObjectDamage
add esp, 12 ; 0000000cH
$L10103:
; Line 11037
mov ax, 257 ; 00000101H
; Line 11038
mov esp, ebp
pop ebp
ret 8
$L11724:
DD $L10124
DD $L10114
DD $L10108
DD $L10132
DD $L10106
DD $L10103
$L11723:
DB 0
DB 5
DB 5
DB 1
DB 2
DB 5
DB 3
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 4
?CallEvent@BettyScript@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; BettyScript::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@ChaffScript@@IAEXH@Z ; ChaffScript::DoInit
_DATA SEGMENT
ORG $+2
$SG10151 DB 'ChaffChunk', 00H
ORG $+1
$SG10161 DB 'Drop bomb', 00H
_DATA ENDS
_TEXT SEGMENT
$T11726 = -132
$T11727 = -144
_handle$ = 8
_this$ = -148
_vel$ = -12
_v$ = -32
_pos$ = -80
_count$ = -16
_chaffcount$ = -40
_chunk_id$ = -64
_room$ = -68
_parent$ = -36
_ch$ = -60
_type$ = -20
_mem$ = -56
_orient$10153 = -116
_sound_id$10160 = -120
?DoInit@ChaffScript@@IAEXH@Z PROC NEAR ; ChaffScript::DoInit
; Line 11045
push ebp
mov ebp, esp
sub esp, 160 ; 000000a0H
mov DWORD PTR _this$[ebp], ecx
; Line 11054
mov WORD PTR _mem$[ebp+8], 4
; Line 11055
mov DWORD PTR _mem$[ebp+12], 1
; Line 11056
mov DWORD PTR _mem$[ebp], 0
; Line 11057
mov eax, DWORD PTR _handle$[ebp]
mov DWORD PTR _mem$[ebp+4], eax
; Line 11059
lea ecx, DWORD PTR _mem$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 11060
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 0
; Line 11062
mov edx, DWORD PTR _handle$[ebp]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$[ebp], eax
; Line 11063
push OFFSET FLAT:$SG10151
call DWORD PTR ?Obj_FindID@@3P6AHPAD@ZA ; Obj_FindID
add esp, 4
mov DWORD PTR _chunk_id$[ebp], eax
; Line 11065
cmp DWORD PTR _parent$[ebp], -1
je $L10162
cmp DWORD PTR _chunk_id$[ebp], -1
je $L10162
; Line 11068
push 0
lea eax, DWORD PTR _orient$10153[ebp]
push eax
push 4
push 1
mov ecx, DWORD PTR _handle$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11070
push 0
lea edx, DWORD PTR _vel$[ebp]
push edx
push 6
push 1
mov eax, DWORD PTR _parent$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11071
push 0
lea ecx, DWORD PTR _room$[ebp]
push ecx
push 5
push 1
mov edx, DWORD PTR _handle$[ebp]
push edx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11072
push 0
lea eax, DWORD PTR _pos$[ebp]
push eax
push 3
push 1
mov ecx, DWORD PTR _handle$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11074
mov DWORD PTR _chaffcount$[ebp], 10 ; 0000000aH
; Line 11075
mov DWORD PTR _count$[ebp], 0
jmp SHORT $L10154
$L10155:
mov edx, DWORD PTR _count$[ebp]
add edx, 1
mov DWORD PTR _count$[ebp], edx
$L10154:
mov eax, DWORD PTR _count$[ebp]
cmp eax, DWORD PTR _chaffcount$[ebp]
jge $L10156
; Line 11077
sub esp, 12 ; 0000000cH
mov ecx, esp
mov edx, DWORD PTR _vel$[ebp]
mov DWORD PTR [ecx], edx
mov eax, DWORD PTR _vel$[ebp+4]
mov DWORD PTR [ecx+4], eax
mov edx, DWORD PTR _vel$[ebp+8]
mov DWORD PTR [ecx+8], edx
lea eax, DWORD PTR $T11727[ebp]
push eax
call ??G@YA?AUvector@@U0@@Z ; operator-
add esp, 16 ; 00000010H
mov ecx, DWORD PTR [eax]
mov DWORD PTR $T11726[ebp], ecx
mov edx, DWORD PTR [eax+4]
mov DWORD PTR $T11726[ebp+4], edx
mov eax, DWORD PTR [eax+8]
mov DWORD PTR $T11726[ebp+8], eax
mov ecx, DWORD PTR $T11726[ebp]
mov DWORD PTR _v$[ebp], ecx
mov edx, DWORD PTR $T11726[ebp+4]
mov DWORD PTR _v$[ebp+4], edx
mov eax, DWORD PTR $T11726[ebp+8]
mov DWORD PTR _v$[ebp+8], eax
; Line 11078
call _rand
cdq
mov ecx, 30 ; 0000001eH
idiv ecx
sub edx, 15 ; 0000000fH
mov DWORD PTR -152+[ebp], edx
fild DWORD PTR -152+[ebp]
fadd DWORD PTR _v$[ebp]
fstp DWORD PTR _v$[ebp]
; Line 11079
call _rand
cdq
mov ecx, 30 ; 0000001eH
idiv ecx
sub edx, 15 ; 0000000fH
mov DWORD PTR -156+[ebp], edx
fild DWORD PTR -156+[ebp]
fadd DWORD PTR _v$[ebp+4]
fstp DWORD PTR _v$[ebp+4]
; Line 11080
call _rand
cdq
mov ecx, 30 ; 0000001eH
idiv ecx
sub edx, 15 ; 0000000fH
mov DWORD PTR -160+[ebp], edx
fild DWORD PTR -160+[ebp]
fadd DWORD PTR _v$[ebp+8]
fstp DWORD PTR _v$[ebp+8]
; Line 11082
lea edx, DWORD PTR _v$[ebp]
push edx
mov eax, DWORD PTR _parent$[ebp]
push eax
lea ecx, DWORD PTR _orient$10153[ebp]
push ecx
lea edx, DWORD PTR _pos$[ebp]
push edx
mov eax, DWORD PTR _room$[ebp]
push eax
mov cx, WORD PTR _chunk_id$[ebp]
push ecx
push 2
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
mov DWORD PTR _ch$[ebp], eax
; Line 11083
jmp $L10155
$L10156:
; Line 11085
mov edx, DWORD PTR _parent$[ebp]
push edx
call ?GetObjectType@@YAHH@Z ; GetObjectType
add esp, 4
mov DWORD PTR _type$[ebp], eax
; Line 11086
cmp DWORD PTR _type$[ebp], 4
je SHORT $L10159
cmp DWORD PTR _type$[ebp], 12 ; 0000000cH
jne SHORT $L10162
$L10159:
; Line 11088
push OFFSET FLAT:$SG10161
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _sound_id$10160[ebp], eax
; Line 11089
cmp DWORD PTR _sound_id$10160[ebp], 0
jl SHORT $L10162
; Line 11091
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _sound_id$10160[ebp]
push eax
mov ecx, DWORD PTR _parent$[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L10162:
; Line 11096
mov edx, DWORD PTR _this$[ebp]
mov eax, DWORD PTR [edx+4]
mov BYTE PTR [eax], 1
; Line 11097
mov esp, ebp
pop ebp
ret 4
?DoInit@ChaffScript@@IAEXH@Z ENDP ; ChaffScript::DoInit
_TEXT ENDS
PUBLIC ?DoInterval@ChaffScript@@IAEXH@Z ; ChaffScript::DoInterval
_TEXT SEGMENT
_handle$ = 8
_this$ = -4
?DoInterval@ChaffScript@@IAEXH@Z PROC NEAR ; ChaffScript::DoInterval
; Line 11100
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 11101
mov eax, DWORD PTR _this$[ebp]
cmp DWORD PTR [eax+4], 0
je SHORT $L10167
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx]
test eax, eax
je SHORT $L10167
; Line 11103
mov ecx, DWORD PTR _handle$[ebp]
push ecx
call ?ObjectRemove@@YAXH@Z ; ObjectRemove
add esp, 4
$L10167:
; Line 11105
mov esp, ebp
pop ebp
ret 4
?DoInterval@ChaffScript@@IAEXH@Z ENDP ; ChaffScript::DoInterval
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@ChaffScript@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; ChaffScript::CallEvent
; Line 11108
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 11110
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 256 ; 00000100H
je SHORT $L10180
cmp DWORD PTR -8+[ebp], 260 ; 00000104H
je SHORT $L10179
cmp DWORD PTR -8+[ebp], 281 ; 00000119H
je SHORT $L10177
jmp SHORT $L10174
$L10177:
; Line 11113
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
; Line 11114
jmp SHORT $L10174
$L10179:
; Line 11117
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@ChaffScript@@IAEXH@Z ; ChaffScript::DoInit
; Line 11118
jmp SHORT $L10174
$L10180:
; Line 11121
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInterval@ChaffScript@@IAEXH@Z ; ChaffScript::DoInterval
$L10174:
; Line 11124
mov ax, 257 ; 00000101H
; Line 11125
mov esp, ebp
pop ebp
ret 8
?CallEvent@ChaffScript@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; ChaffScript::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@ChaffChunkScript@@IAEXH@Z ; ChaffChunkScript::DoInit
_TEXT SEGMENT
_handle$ = 8
_this$ = -36
_ch$ = -32
_parent$ = -16
_vel$ = -12
?DoInit@ChaffChunkScript@@IAEXH@Z PROC NEAR ; ChaffChunkScript::DoInit
; Line 11128
push ebp
mov ebp, esp
sub esp, 36 ; 00000024H
mov DWORD PTR _this$[ebp], ecx
; Line 11131
mov WORD PTR _ch$[ebp+8], 4
; Line 11132
mov DWORD PTR _ch$[ebp+12], 1
; Line 11133
mov DWORD PTR _ch$[ebp], 0
; Line 11134
mov eax, DWORD PTR _handle$[ebp]
mov DWORD PTR _ch$[ebp+4], eax
; Line 11136
lea ecx, DWORD PTR _ch$[ebp]
push ecx
call DWORD PTR ?Scrpt_MemAlloc@@3P6APAXPAUtOSIRISMEMCHUNK@@@ZA ; Scrpt_MemAlloc
add esp, 4
mov edx, DWORD PTR _this$[ebp]
mov DWORD PTR [edx+4], eax
; Line 11137
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 0
; Line 11141
mov edx, DWORD PTR _handle$[ebp]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$[ebp], eax
; Line 11143
cmp DWORD PTR _parent$[ebp], -1
je SHORT $L10190
; Line 11145
push 0
lea eax, DWORD PTR _vel$[ebp]
push eax
push 6
push 1
mov ecx, DWORD PTR _parent$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11146
push 0
lea edx, DWORD PTR _vel$[ebp]
push edx
push 6
push 0
mov eax, DWORD PTR _handle$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
$L10190:
; Line 11148
mov esp, ebp
pop ebp
ret 4
?DoInit@ChaffChunkScript@@IAEXH@Z ENDP ; ChaffChunkScript::DoInit
_TEXT ENDS
PUBLIC ?DoInterval@ChaffChunkScript@@IAEXH@Z ; ChaffChunkScript::DoInterval
_TEXT SEGMENT
_handle$ = 8
_this$ = -4
?DoInterval@ChaffChunkScript@@IAEXH@Z PROC NEAR ; ChaffChunkScript::DoInterval
; Line 11151
push ebp
mov ebp, esp
push ecx
mov DWORD PTR _this$[ebp], ecx
; Line 11152
mov eax, DWORD PTR _this$[ebp]
cmp DWORD PTR [eax+4], 0
je SHORT $L10195
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR [ecx+4]
xor eax, eax
mov al, BYTE PTR [edx]
test eax, eax
je SHORT $L10195
; Line 11154
mov ecx, DWORD PTR _handle$[ebp]
push ecx
call ?ObjectRemove@@YAXH@Z ; ObjectRemove
add esp, 4
$L10195:
; Line 11156
mov esp, ebp
pop ebp
ret 4
?DoInterval@ChaffChunkScript@@IAEXH@Z ENDP ; ChaffChunkScript::DoInterval
_TEXT ENDS
PUBLIC ?DoCollide@ChaffChunkScript@@IAEXPAUtOSIRISEventInfo@@@Z ; ChaffChunkScript::DoCollide
_DATA SEGMENT
ORG $+2
$SG10205 DB 'ChaffSpark', 00H
_DATA ENDS
_TEXT SEGMENT
_data$ = 8
_this$ = -64
_weapon_id$ = -4
_orient$ = -40
_room$10203 = -48
_pos$10204 = -60
_parent$10206 = -44
?DoCollide@ChaffChunkScript@@IAEXPAUtOSIRISEventInfo@@@Z PROC NEAR ; ChaffChunkScript::DoCollide
; Line 11159
push ebp
mov ebp, esp
sub esp, 64 ; 00000040H
mov DWORD PTR _this$[ebp], ecx
; Line 11163
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
xor edx, edx
mov dl, BYTE PTR [ecx]
test edx, edx
jne $L10202
; Line 11165
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+4]
mov BYTE PTR [ecx], 1
; Line 11167
push 0
lea edx, DWORD PTR _orient$[ebp]
push edx
push 4
push 1
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11172
push 0
lea edx, DWORD PTR _room$10203[ebp]
push edx
push 5
push 1
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11173
push 0
lea edx, DWORD PTR _pos$10204[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11175
push OFFSET FLAT:$SG10205
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$[ebp], eax
; Line 11177
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
push eax
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$10206[ebp], eax
; Line 11179
push 0
mov ecx, DWORD PTR _parent$10206[ebp]
push ecx
lea edx, DWORD PTR _orient$[ebp]
push edx
lea eax, DWORD PTR _pos$10204[ebp]
push eax
mov ecx, DWORD PTR _room$10203[ebp]
push ecx
mov dx, WORD PTR _weapon_id$[ebp]
push edx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
$L10202:
; Line 11181
mov esp, ebp
pop ebp
ret 4
?DoCollide@ChaffChunkScript@@IAEXPAUtOSIRISEventInfo@@@Z ENDP ; ChaffChunkScript::DoCollide
_event$ = 8
_data$ = 12
_this$ = -4
?CallEvent@ChaffChunkScript@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; ChaffChunkScript::CallEvent
; Line 11185
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 11187
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
mov ecx, DWORD PTR -8+[ebp]
sub ecx, 256 ; 00000100H
mov DWORD PTR -8+[ebp], ecx
cmp DWORD PTR -8+[ebp], 25 ; 00000019H
ja SHORT $L10213
mov eax, DWORD PTR -8+[ebp]
xor edx, edx
mov dl, BYTE PTR $L11734[eax]
jmp DWORD PTR $L11735[edx*4]
$L10216:
; Line 11190
mov ecx, DWORD PTR _this$[ebp]
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], eax
; Line 11191
jmp SHORT $L10213
$L10218:
; Line 11194
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@ChaffChunkScript@@IAEXH@Z ; ChaffChunkScript::DoInit
; Line 11195
jmp SHORT $L10213
$L10219:
; Line 11198
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInterval@ChaffChunkScript@@IAEXH@Z ; ChaffChunkScript::DoInterval
; Line 11199
jmp SHORT $L10213
$L10220:
; Line 11202
mov edx, DWORD PTR _data$[ebp]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@ChaffChunkScript@@IAEXPAUtOSIRISEventInfo@@@Z ; ChaffChunkScript::DoCollide
; Line 11203
jmp SHORT $L10213
$L10221:
; Line 11206
push -1
push -1
push 0
push 1065353216 ; 3f800000H
push 1082130432 ; 40800000H
push 0
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call DWORD PTR ?Obj_SetCustomAnim@@3P6AXHMMMDHD@ZA ; Obj_SetCustomAnim
add esp, 28 ; 0000001cH
$L10213:
; Line 11209
mov ax, 257 ; 00000101H
; Line 11210
mov esp, ebp
pop ebp
ret 8
$L11735:
DD $L10219
DD $L10220
DD $L10218
DD $L10221
DD $L10216
DD $L10213
$L11734:
DB 0
DB 5
DB 5
DB 1
DB 2
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 3
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 5
DB 4
?CallEvent@ChaffChunkScript@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; ChaffChunkScript::CallEvent
_TEXT ENDS
PUBLIC ?DoInit@ProxMine@@AAEXH@Z ; ProxMine::DoInit
_DATA SEGMENT
ORG $+1
$SG10228 DB 'Drop bomb', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -12
_parent$ = -8
_sound_id$ = -4
?DoInit@ProxMine@@AAEXH@Z PROC NEAR ; ProxMine::DoInit
; Line 11217
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
mov DWORD PTR _this$[ebp], ecx
; Line 11218
mov eax, DWORD PTR _me$[ebp]
push eax
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$[ebp], eax
; Line 11219
push OFFSET FLAT:$SG10228
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _sound_id$[ebp], eax
; Line 11220
cmp DWORD PTR _sound_id$[ebp], 0
jl SHORT $L10229
; Line 11222
push 1065353216 ; 3f800000H
mov ecx, DWORD PTR _sound_id$[ebp]
push ecx
mov edx, DWORD PTR _parent$[ebp]
push edx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L10229:
; Line 11224
mov esp, ebp
pop ebp
ret 4
?DoInit@ProxMine@@AAEXH@Z ENDP ; ProxMine::DoInit
_TEXT ENDS
PUBLIC ?DoCollide@ProxMine@@AAEXH@Z ; ProxMine::DoCollide
_DATA SEGMENT
ORG $+2
$SG10237 DB 'TubbsHitBlast', 00H
_DATA ENDS
_TEXT SEGMENT
_me$ = 8
_this$ = -944
_room$ = -928
_pos$ = -940
_weapon_id$ = -4
_mo$ = -924
?DoCollide@ProxMine@@AAEXH@Z PROC NEAR ; ProxMine::DoCollide
; Line 11227
push ebp
mov ebp, esp
sub esp, 944 ; 000003b0H
mov DWORD PTR _this$[ebp], ecx
; Line 11232
push 0
lea eax, DWORD PTR _room$[ebp]
push eax
push 5
push 1
mov ecx, DWORD PTR _me$[ebp]
push ecx
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11233
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
push 3
push 1
mov eax, DWORD PTR _me$[ebp]
push eax
call DWORD PTR ?Obj_Value@@3P6AXHDDPAXH@ZA ; Obj_Value
add esp, 20 ; 00000014H
; Line 11235
push OFFSET FLAT:$SG10237
call DWORD PTR ?Wpn_FindID@@3P6AHPAD@ZA ; Wpn_FindID
add esp, 4
mov DWORD PTR _weapon_id$[ebp], eax
; Line 11236
push 0
mov ecx, DWORD PTR _me$[ebp]
push ecx
push 0
lea edx, DWORD PTR _pos$[ebp]
push edx
mov eax, DWORD PTR _room$[ebp]
push eax
mov cx, WORD PTR _weapon_id$[ebp]
push ecx
push 5
call DWORD PTR ?Obj_Create@@3P6AHEGHPAUvector@@PBUmatrix@@H0@ZA ; Obj_Create
add esp, 28 ; 0000001cH
; Line 11239
mov edx, DWORD PTR _me$[ebp]
mov DWORD PTR _mo$[ebp+44], edx
; Line 11241
lea eax, DWORD PTR _mo$[ebp]
push eax
push 37 ; 00000025H
call DWORD PTR ?MSafe_CallFunction@@3P6AXHPAUmsafe_struct@@@ZA ; MSafe_CallFunction
add esp, 8
; Line 11242
mov esp, ebp
pop ebp
ret 4
?DoCollide@ProxMine@@AAEXH@Z ENDP ; ProxMine::DoCollide
_data$ = 12
_this$ = -4
_event$ = 8
?CallEvent@ProxMine@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; ProxMine::CallEvent
; Line 11245
push ebp
mov ebp, esp
sub esp, 8
mov DWORD PTR _this$[ebp], ecx
; Line 11247
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -8+[ebp], eax
cmp DWORD PTR -8+[ebp], 259 ; 00000103H
je SHORT $L10249
cmp DWORD PTR -8+[ebp], 273 ; 00000111H
je SHORT $L10248
jmp SHORT $L10245
$L10248:
; Line 11249
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
mov ecx, DWORD PTR _this$[ebp]
call ?DoInit@ProxMine@@AAEXH@Z ; ProxMine::DoInit
; Line 11250
jmp SHORT $L10245
$L10249:
; Line 11252
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
mov ecx, DWORD PTR _this$[ebp]
call ?DoCollide@ProxMine@@AAEXH@Z ; ProxMine::DoCollide
$L10245:
; Line 11255
mov ax, 257 ; 00000101H
; Line 11256
mov esp, ebp
pop ebp
ret 8
?CallEvent@ProxMine@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; ProxMine::CallEvent
_TEXT ENDS
_DATA SEGMENT
ORG $+2
$SG10262 DB 'Drop bomb', 00H
_DATA ENDS
_TEXT SEGMENT
_event$ = 8
_data$ = 12
_this$ = -40
_parent$10260 = -32
_sound_id$10261 = -28
_timer_info$10264 = -24
_amount$10266 = -36
?CallEvent@Gunboy@@UAEFHPAUtOSIRISEventInfo@@@Z PROC NEAR ; Gunboy::CallEvent
; Line 11263
push ebp
mov ebp, esp
sub esp, 44 ; 0000002cH
mov DWORD PTR _this$[ebp], ecx
; Line 11265
mov eax, DWORD PTR _event$[ebp]
mov DWORD PTR -44+[ebp], eax
cmp DWORD PTR -44+[ebp], 260 ; 00000104H
je SHORT $L10259
cmp DWORD PTR -44+[ebp], 262 ; 00000106H
je $L10265
jmp $L10256
$L10259:
; Line 11268
mov ecx, DWORD PTR _data$[ebp]
mov edx, DWORD PTR [ecx+20]
push edx
call ?GetObjectParent@@YAHH@Z ; GetObjectParent
add esp, 4
mov DWORD PTR _parent$10260[ebp], eax
; Line 11269
push OFFSET FLAT:$SG10262
call DWORD PTR ?Sound_FindId@@3P6AHPAD@ZA ; Sound_FindId
add esp, 4
mov DWORD PTR _sound_id$10261[ebp], eax
; Line 11270
cmp DWORD PTR _sound_id$10261[ebp], 0
jl SHORT $L10263
; Line 11272
push 1065353216 ; 3f800000H
mov eax, DWORD PTR _sound_id$10261[ebp]
push eax
mov ecx, DWORD PTR _parent$10260[ebp]
push ecx
call DWORD PTR ?Sound_Play3d@@3P6AHHHM@ZA ; Sound_Play3d
add esp, 12 ; 0000000cH
$L10263:
; Line 11276
mov WORD PTR _timer_info$10264[ebp], 0
; Line 11277
mov DWORD PTR _timer_info$10264[ebp+8], 0
; Line 11278
mov edx, DWORD PTR _data$[ebp]
mov eax, DWORD PTR [edx+20]
mov DWORD PTR _timer_info$10264[ebp+12], eax
; Line 11279
mov DWORD PTR _timer_info$10264[ebp+16], -1
; Line 11280
mov DWORD PTR _timer_info$10264[ebp+20], 1126170624 ; 43200000H
; Line 11281
mov ecx, DWORD PTR ?aigame_mod_id@@3HA ; aigame_mod_id
shl ecx, 16 ; 00000010H
or ecx, 45 ; 0000002dH
mov DWORD PTR _timer_info$10264[ebp+4], ecx
; Line 11282
lea edx, DWORD PTR _timer_info$10264[ebp]
push edx
call DWORD PTR ?Scrpt_CreateTimer@@3P6AHPAUtOSIRISTIMER@@@ZA ; Scrpt_CreateTimer
add esp, 4
; Line 11284
jmp SHORT $L10256
$L10265:
; Line 11289
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call ?GetObjectShields@@YAMH@Z ; GetObjectShields
add esp, 4
fadd DWORD PTR __real@4@4004f000000000000000
fstp DWORD PTR _amount$10266[ebp]
; Line 11290
push -1
mov edx, DWORD PTR _amount$10266[ebp]
push edx
mov eax, DWORD PTR _data$[ebp]
mov ecx, DWORD PTR [eax+20]
push ecx
call ?ObjectDamage@@YAXHMH@Z ; ObjectDamage
add esp, 12 ; 0000000cH
$L10256:
; Line 11295
mov ax, 257 ; 00000101H
; Line 11296
mov esp, ebp
pop ebp
ret 8
?CallEvent@Gunboy@@UAEFHPAUtOSIRISEventInfo@@@Z ENDP ; Gunboy::CallEvent
_TEXT ENDS
END