
// ========================================================================
// ?GetType@idEventReceiver@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F658
// RVA : 0x0053F658
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEventReceiver::GetType(idEventReceiver *this)
{
  return &idEventReceiver::Type;
}


// ========================================================================
// ?GetType@idEvent@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F668
// RVA : 0x0053F668
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEvent::GetType(idEvent *this)
{
  return &idEvent::Type;
}


// ========================================================================
// ?GetType@idAnimatedEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F678
// RVA : 0x0053F678
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAnimatedEntity::GetType(idAnimatedEntity *this)
{
  return &idAnimatedEntity::Type;
}


// ========================================================================
// ?GetType@idSound@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F688
// RVA : 0x0053F688
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSound::GetType(idSound *this)
{
  return &idSound::Type;
}


// ========================================================================
// ?GetType@idTwitchPain_JointGroup@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F698
// RVA : 0x0053F698
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTwitchPain_JointGroup::GetType(idTwitchPain_JointGroup *this)
{
  return &idTwitchPain_JointGroup::Type;
}


// ========================================================================
// ?GetType@idEntityEmitter@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6A8
// RVA : 0x0053F6A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEntityEmitter::GetType(idEntityEmitter *this)
{
  return &idEntityEmitter::Type;
}


// ========================================================================
// ?GetType@idHealthItem@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6B8
// RVA : 0x0053F6B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idHealthItem::GetType(idHealthItem *this)
{
  return &idHealthItem::Type;
}


// ========================================================================
// ?GetType@idThrowableItem@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6C8
// RVA : 0x0053F6C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idThrowableItem::GetType(idThrowableItem *this)
{
  return &idThrowableItem::Type;
}


// ========================================================================
// ?GetType@idVehicleUpgrade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6D8
// RVA : 0x0053F6D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicleUpgrade::GetType(idVehicleUpgrade *this)
{
  return &idVehicleUpgrade::Type;
}


// ========================================================================
// ?GetType@idSecretItem@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6E8
// RVA : 0x0053F6E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSecretItem::GetType(idSecretItem *this)
{
  return &idSecretItem::Type;
}


// ========================================================================
// ?GetType@idVehicle_Shockwave@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F6F8
// RVA : 0x0053F6F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicle_Shockwave::GetType(idVehicle_Shockwave *this)
{
  return &idVehicle_Shockwave::Type;
}


// ========================================================================
// ?GetType@idVehicle_Teleporter@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F708
// RVA : 0x0053F708
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicle_Teleporter::GetType(idVehicle_Teleporter *this)
{
  return &idVehicle_Teleporter::Type;
}


// ========================================================================
// ?GetType@idVehicle_Stomp@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F718
// RVA : 0x0053F718
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicle_Stomp::GetType(idVehicle_Stomp *this)
{
  return &idVehicle_Stomp::Type;
}


// ========================================================================
// ?GetType@idThrowableFilter@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F728
// RVA : 0x0053F728
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idThrowableFilter::GetType(idThrowableFilter *this)
{
  return &idThrowableFilter::Type;
}


// ========================================================================
// ?GetType@idAmmoSelector@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F738
// RVA : 0x0053F738
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAmmoSelector::GetType(idAmmoSelector *this)
{
  return &idAmmoSelector::Type;
}


// ========================================================================
// ?GetType@idAmmoSelector_ClubMutant@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F748
// RVA : 0x0053F748
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAmmoSelector_ClubMutant::GetType(idAmmoSelector_ClubMutant *this)
{
  return &idAmmoSelector_ClubMutant::Type;
}


// ========================================================================
// ?GetType@idActorModifierManager@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F758
// RVA : 0x0053F758
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idActorModifierManager::GetType(idActorModifierManager *this)
{
  return &idActorModifierManager::Type;
}


// ========================================================================
// ?GetType@idLayer@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F768
// RVA : 0x0053F768
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idLayer::GetType(idLayer *this)
{
  return &idLayer::Type;
}


// ========================================================================
// ?GetType@idSpecialEvent@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F778
// RVA : 0x0053F778
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSpecialEvent::GetType(idSpecialEvent *this)
{
  return &idSpecialEvent::Type;
}


// ========================================================================
// ?GetType@idAIPlayerInteractionMemory@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F788
// RVA : 0x0053F788
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIPlayerInteractionMemory::GetType(idAIPlayerInteractionMemory *this)
{
  return &idAIPlayerInteractionMemory::Type;
}


// ========================================================================
// ?GetType@idProjectile_Grenade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F798
// RVA : 0x0053F798
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProjectile_Grenade::GetType(idProjectile_Grenade *this)
{
  return &idProjectile_Grenade::Type;
}


// ========================================================================
// ?RespondsTo@idProjectile_DragonBreath@@UBA_NABVidEventDef@@@Z
// EA  : 0x8253F7A8
// RVA : 0x0053F7A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idProjectile_DragonBreath::RespondsTo(idProjectile_DragonBreath *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idProjectile_DragonBreath *))this->InternalRespondsTo)(a1: this) != 0
      || idProjectile::RespondsTo(this, event);
}


// ========================================================================
// ?GetType@idMultiplayerTrigger@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F810
// RVA : 0x0053F810
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idMultiplayerTrigger::GetType(idMultiplayerTrigger *this)
{
  return &idMultiplayerTrigger::Type;
}


// ========================================================================
// ?GetType@idFaceMgr@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F820
// RVA : 0x0053F820
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idFaceMgr::GetType(idFaceMgr *this)
{
  return &idFaceMgr::Type;
}


// ========================================================================
// ?CreateInstance@idAIVar@@SAPAVidClass@@XZ
// EA  : 0x8253F830
// RVA : 0x0053F830
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAIVar::CreateInstance()
{
  idLib::Warning(fmt: "Cannot instantiate abstract class %s.", "idAIVar");
  return nullptr;
}


// ========================================================================
// ?GetType@idAIVar@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F868
// RVA : 0x0053F868
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIVar::GetType(idAIVar *this)
{
  return &idAIVar::Type;
}


// ========================================================================
// ?GetType@idAIEventSound@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F878
// RVA : 0x0053F878
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIEventSound::GetType(idAIEventSound *this)
{
  return &idAIEventSound::Type;
}


// ========================================================================
// ?GetType@idAIEvent_DelayedVO@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F888
// RVA : 0x0053F888
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIEvent_DelayedVO::GetType(idAIEvent_DelayedVO *this)
{
  return &idAIEvent_DelayedVO::Type;
}


// ========================================================================
// ?GetType@idAIEventPool@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F898
// RVA : 0x0053F898
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIEventPool::GetType(idAIEventPool *this)
{
  return &idAIEventPool::Type;
}


// ========================================================================
// ?GetType@idVehicleCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8A8
// RVA : 0x0053F8A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicleCover::GetType(idVehicleCover *this)
{
  return &idVehicleCover::Type;
}


// ========================================================================
// ?GetType@idAchievementManager@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8B8
// RVA : 0x0053F8B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAchievementManager::GetType(idAchievementManager *this)
{
  return &idAchievementManager::Type;
}


// ========================================================================
// ?GetType@idPlayerStart@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8C8
// RVA : 0x0053F8C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerStart::GetType(idPlayerStart *this)
{
  return &idPlayerStart::Type;
}


// ========================================================================
// ?GetType@idVehicleAI@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8D8
// RVA : 0x0053F8D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicleAI::GetType(idVehicleAI *this)
{
  return &idVehicleAI::Type;
}


// ========================================================================
// ?GetType@idAFEntity_Generic@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8E8
// RVA : 0x0053F8E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAFEntity_Generic::GetType(idAFEntity_Generic *this)
{
  return &idAFEntity_Generic::Type;
}


// ========================================================================
// ?GetType@idVehicleOccupant_ATV@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F8F8
// RVA : 0x0053F8F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicleOccupant_ATV::GetType(idVehicleOccupant_ATV *this)
{
  return &idVehicleOccupant_ATV::Type;
}


// ========================================================================
// ?CallEvent@idVehicleOccupant_Event@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x8253F908
// RVA : 0x0053F908
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleOccupant_Event *__fastcall idVehicleOccupant_Event::CallEvent(
        idVehicleOccupant_Event *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idVehicleOccupant_Event *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idVehicleOccupant::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?RespondsTo@idVehicleOccupant_Event@@UBA_NABVidEventDef@@@Z
// EA  : 0x8253F988
// RVA : 0x0053F988
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idVehicleOccupant_Event::RespondsTo(idVehicleOccupant_Event *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idVehicleOccupant_Event *))this->InternalRespondsTo)(a1: this) != 0
      || idVehicleOccupant::RespondsTo(this, event);
}


// ========================================================================
// ?GetType@idSplinePathMM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253F9F0
// RVA : 0x0053F9F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSplinePathMM::GetType(idSplinePathMM *this)
{
  return &idSplinePathMM::Type;
}


// ========================================================================
// ?GetType@idSplinePathWithOrientation@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA00
// RVA : 0x0053FA00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSplinePathWithOrientation::GetType(idSplinePathWithOrientation *this)
{
  return &idSplinePathWithOrientation::Type;
}


// ========================================================================
// ?GetType@idStaticEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA10
// RVA : 0x0053FA10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idStaticEntity::GetType(idStaticEntity *this)
{
  return &idStaticEntity::Type;
}


// ========================================================================
// ?GetType@idElectricBoltEmitter@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA20
// RVA : 0x0053FA20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idElectricBoltEmitter::GetType(idElectricBoltEmitter *this)
{
  return &idElectricBoltEmitter::Type;
}


// ========================================================================
// ?GetType@idInventoryStorage@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA30
// RVA : 0x0053FA30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInventoryStorage::GetType(idInventoryStorage *this)
{
  return &idInventoryStorage::Type;
}


// ========================================================================
// ?GetType@idGuiEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA40
// RVA : 0x0053FA40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idGuiEntity::GetType(idGuiEntity *this)
{
  return &idGuiEntity::Type;
}


// ========================================================================
// ?GetType@idDynamicJob@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA50
// RVA : 0x0053FA50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idDynamicJob::GetType(idDynamicJob *this)
{
  return &idDynamicJob::Type;
}


// ========================================================================
// ?GetType@idRandomLoot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA60
// RVA : 0x0053FA60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idRandomLoot::GetType(idRandomLoot *this)
{
  return &idRandomLoot::Type;
}


// ========================================================================
// ?GetType@idLoot_Blocker@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA70
// RVA : 0x0053FA70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idLoot_Blocker::GetType(idLoot_Blocker *this)
{
  return &idLoot_Blocker::Type;
}


// ========================================================================
// ?GetType@idAnimatedSimple@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA80
// RVA : 0x0053FA80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAnimatedSimple::GetType(idAnimatedSimple *this)
{
  return &idAnimatedSimple::Type;
}


// ========================================================================
// ?GetType@idTarget_AnimWebChangeStateVia@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FA90
// RVA : 0x0053FA90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_AnimWebChangeStateVia::GetType(idTarget_AnimWebChangeStateVia *this)
{
  return &idTarget_AnimWebChangeStateVia::Type;
}


// ========================================================================
// ?GetType@idProjectile_Arrow@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAA0
// RVA : 0x0053FAA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProjectile_Arrow::GetType(idProjectile_Arrow *this)
{
  return &idProjectile_Arrow::Type;
}


// ========================================================================
// ?GetType@idLight@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAB0
// RVA : 0x0053FAB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idLight::GetType(idLight *this)
{
  return &idLight::Type;
}


// ========================================================================
// ?GetType@idEnvArea@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAC0
// RVA : 0x0053FAC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEnvArea::GetType(idEnvArea *this)
{
  return &idEnvArea::Type;
}


// ========================================================================
// ?GetType@idCameraView@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAD0
// RVA : 0x0053FAD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCameraView::GetType(idCameraView *this)
{
  return &idCameraView::Type;
}


// ========================================================================
// ?GetType@idEntityCamera@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAE0
// RVA : 0x0053FAE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEntityCamera::GetType(idEntityCamera *this)
{
  return &idEntityCamera::Type;
}


// ========================================================================
// ?GetType@idTownGarageCamera@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FAF0
// RVA : 0x0053FAF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTownGarageCamera::GetType(idTownGarageCamera *this)
{
  return &idTownGarageCamera::Type;
}


// ========================================================================
// ?CallEvent@idAIDebugCamera@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x8253FB00
// RVA : 0x0053FB00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idOnlineVehicleDeathCamera *__fastcall idAIDebugCamera::CallEvent(
        idOnlineVehicleDeathCamera *this,
        idEventArg *result,
        const idEventDef *event,
        const idEventArg *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(idEventArg *, const idEventDef *))(*(_DWORD *)&result->type + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idOnlineVehicleDeathCamera *, idEventArg *, const idEventDef *, const idEventArg *))(*(_DWORD *)&result->type + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idRaceCountdownCamera::CallEvent((idRCBombDeathCamera *)this, result, event, args);
  return this;
}


// ========================================================================
// ?GetType@idReviveCamera@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FB80
// RVA : 0x0053FB80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idReviveCamera::GetType(idReviveCamera *this)
{
  return &idReviveCamera::Type;
}


// ========================================================================
// ?GetType@idThrownCamera@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FB90
// RVA : 0x0053FB90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idThrownCamera::GetType(idThrownCamera *this)
{
  return &idThrownCamera::Type;
}


// ========================================================================
// ?GetType@idFreeCamera@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FBA0
// RVA : 0x0053FBA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idFreeCamera::GetType(idFreeCamera *this)
{
  return &idFreeCamera::Type;
}


// ========================================================================
// ?RespondsTo@idReviveCamera@@UBA_NABVidEventDef@@@Z
// EA  : 0x8253FBB0
// RVA : 0x0053FBB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idReviveCamera::RespondsTo(idRCBombDeathCamera *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idRCBombDeathCamera *))this->InternalRespondsTo)(a1: this) != 0
      || idUtilityCamera::RespondsTo((idSpringCamera *)this, event);
}


// ========================================================================
// ?GetType@idVolume_Repairs@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC18
// RVA : 0x0053FC18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVolume_Repairs::GetType(idVolume_Repairs *this)
{
  return &idVolume_Repairs::Type;
}


// ========================================================================
// ?GetType@idVolume_DamageMultiplier@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC28
// RVA : 0x0053FC28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVolume_DamageMultiplier::GetType(idVolume_DamageMultiplier *this)
{
  return &idVolume_DamageMultiplier::Type;
}


// ========================================================================
// ?GetType@idVolume_DynamicJob@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC38
// RVA : 0x0053FC38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVolume_DynamicJob::GetType(idVolume_DynamicJob *this)
{
  return &idVolume_DynamicJob::Type;
}


// ========================================================================
// ?GetType@idVolume_ForceDormant@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC48
// RVA : 0x0053FC48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVolume_ForceDormant::GetType(idVolume_ForceDormant *this)
{
  return &idVolume_ForceDormant::Type;
}


// ========================================================================
// ?GetType@idScenePoint_UserGroup@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC58
// RVA : 0x0053FC58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idScenePoint_UserGroup::GetType(idScenePoint_UserGroup *this)
{
  return &idScenePoint_UserGroup::Type;
}


// ========================================================================
// ?GetType@idInfoFocus@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC68
// RVA : 0x0053FC68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoFocus::GetType(idInfoFocus *this)
{
  return &idInfoFocus::Type;
}


// ========================================================================
// ?GetType@idInfoPath@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC78
// RVA : 0x0053FC78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoPath::GetType(idInfoPath *this)
{
  return &idInfoPath::Type;
}


// ========================================================================
// ?GetType@idAIHint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC88
// RVA : 0x0053FC88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIHint::GetType(idAIHint *this)
{
  return &idAIHint::Type;
}


// ========================================================================
// ?GetType@idAICombatHint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FC98
// RVA : 0x0053FC98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAICombatHint::GetType(idAICombatHint *this)
{
  return &idAICombatHint::Type;
}


// ========================================================================
// ?GetType@idAISearchHintAuto@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FCA8
// RVA : 0x0053FCA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAISearchHintAuto::GetType(idAISearchHintAuto *this)
{
  return &idAISearchHintAuto::Type;
}


// ========================================================================
// ?RespondsTo@idAISearchHintAnimation@@UBA_NABVidEventDef@@@Z
// EA  : 0x8253FCB8
// RVA : 0x0053FCB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAISearchHintAnimation::RespondsTo(idAISearchHintAnimation *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAISearchHintAnimation *))this->InternalRespondsTo)(a1: this) != 0
      || idDroneSplineWaypoint::RespondsTo((idDroneSplineWaypoint *)this, event);
}


// ========================================================================
// ?GetType@idInfoRoam@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD20
// RVA : 0x0053FD20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoRoam::GetType(idInfoRoam *this)
{
  return &idInfoRoam::Type;
}


// ========================================================================
// ?GetType@idInfoStaticReflection@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD30
// RVA : 0x0053FD30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoStaticReflection::GetType(idInfoStaticReflection *this)
{
  return &idInfoStaticReflection::Type;
}


// ========================================================================
// ?GetType@idInfoSpawnPoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD40
// RVA : 0x0053FD40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoSpawnPoint::GetType(idInfoSpawnPoint *this)
{
  return &idInfoSpawnPoint::Type;
}


// ========================================================================
// ?GetType@idInfoExportHint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD50
// RVA : 0x0053FD50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoExportHint::GetType(idInfoExportHint *this)
{
  return &idInfoExportHint::Type;
}


// ========================================================================
// ?GetType@idInfoLookTarget@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD60
// RVA : 0x0053FD60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoLookTarget::GetType(idInfoLookTarget *this)
{
  return &idInfoLookTarget::Type;
}


// ========================================================================
// ?GetType@idInfoLinkSegment@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD70
// RVA : 0x0053FD70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoLinkSegment::GetType(idInfoLinkSegment *this)
{
  return &idInfoLinkSegment::Type;
}


// ========================================================================
// ?GetType@idInfoNavFlightVolume@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD80
// RVA : 0x0053FD80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInfoNavFlightVolume::GetType(idInfoNavFlightVolume *this)
{
  return &idInfoNavFlightVolume::Type;
}


// ========================================================================
// ?GetType@idScenePoint_Roam@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FD90
// RVA : 0x0053FD90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idScenePoint_Roam::GetType(idScenePoint_Roam *this)
{
  return &idScenePoint_Roam::Type;
}


// ========================================================================
// ?GetType@idTrigger@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDA0
// RVA : 0x0053FDA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger::GetType(idTrigger *this)
{
  return &idTrigger::Type;
}


// ========================================================================
// ?GetType@idTrigger_DamageType@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDB0
// RVA : 0x0053FDB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger_DamageType::GetType(idTrigger_DamageType *this)
{
  return &idTrigger_DamageType::Type;
}


// ========================================================================
// ?GetType@idTrigger_GameChallenge@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDC0
// RVA : 0x0053FDC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger_GameChallenge::GetType(idTrigger_GameChallenge *this)
{
  return &idTrigger_GameChallenge::Type;
}


// ========================================================================
// ?GetType@idTrigger_BoostPad@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDD0
// RVA : 0x0053FDD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger_BoostPad::GetType(idTrigger_BoostPad *this)
{
  return &idTrigger_BoostPad::Type;
}


// ========================================================================
// ?GetType@idTrigger_AIInteraction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDE0
// RVA : 0x0053FDE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger_AIInteraction::GetType(idTrigger_AIInteraction *this)
{
  return &idTrigger_AIInteraction::Type;
}


// ========================================================================
// ?GetType@idTrigger_OpenDoor@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FDF0
// RVA : 0x0053FDF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTrigger_OpenDoor::GetType(idTrigger_OpenDoor *this)
{
  return &idTrigger_OpenDoor::Type;
}


// ========================================================================
// ?GetType@idSoundDoor@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FE00
// RVA : 0x0053FE00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSoundDoor::GetType(idSoundDoor *this)
{
  return &idSoundDoor::Type;
}


// ========================================================================
// ?GetType@idTarget_FadeSoundChannel@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FE10
// RVA : 0x0053FE10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_FadeSoundChannel::GetType(idTarget_FadeSoundChannel *this)
{
  return &idTarget_FadeSoundChannel::Type;
}


// ========================================================================
// ?GetType@idScriptMapEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FE20
// RVA : 0x0053FE20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idScriptMapEntity::GetType(idScriptMapEntity *this)
{
  return &idScriptMapEntity::Type;
}


// ========================================================================
// ?GetType@idProp_ContinuallyUsed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FE30
// RVA : 0x0053FE30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_ContinuallyUsed::GetType(idProp_ContinuallyUsed *this)
{
  return &idProp_ContinuallyUsed::Type;
}


// ========================================================================
// ?GetType@idProp_Loot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FE40
// RVA : 0x0053FE40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_Loot::GetType(idProp_Loot *this)
{
  return &idProp_Loot::Type;
}


// ========================================================================
// ?CallEvent@idProp_CombineItem@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x8253FE50
// RVA : 0x0053FE50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_CombineItem *__fastcall idProp_CombineItem::CallEvent(
        idProp_CombineItem *this,
        eventInt *result,
        const idEventDef *event,
        const idEventArg *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventInt *, const idEventDef *))(result->value + 20))(a1: result, a2: event) != 0 )
    (*(void (__fastcall **)(idProp_CombineItem *, eventInt *, const idEventDef *, const idEventArg *))(result->value + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idProp_Moveable::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?GetType@idProp_AIArmor@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FED0
// RVA : 0x0053FED0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_AIArmor::GetType(idProp_AIArmor *this)
{
  return &idProp_AIArmor::Type;
}


// ========================================================================
// ?GetType@idProp_VehicleJump@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FEE0
// RVA : 0x0053FEE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_VehicleJump::GetType(idProp_VehicleJump *this)
{
  return &idProp_VehicleJump::Type;
}


// ========================================================================
// ?GetType@idProp_VehicleArmor@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FEF0
// RVA : 0x0053FEF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_VehicleArmor::GetType(idProp_VehicleArmor *this)
{
  return &idProp_VehicleArmor::Type;
}


// ========================================================================
// ?GetType@idProp_JobPosting@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF00
// RVA : 0x0053FF00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_JobPosting::GetType(idProp_JobPosting *this)
{
  return &idProp_JobPosting::Type;
}


// ========================================================================
// ?GetType@idCombiner@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF10
// RVA : 0x0053FF10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombiner::GetType(idCombiner *this)
{
  return &idCombiner::Type;
}


// ========================================================================
// ?GetType@idProp_MissionPin@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF20
// RVA : 0x0053FF20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_MissionPin::GetType(idProp_MissionPin *this)
{
  return &idProp_MissionPin::Type;
}


// ========================================================================
// ?GetType@idProp_BatteryChargePoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF30
// RVA : 0x0053FF30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idProp_BatteryChargePoint::GetType(idProp_BatteryChargePoint *this)
{
  return &idProp_BatteryChargePoint::Type;
}


// ========================================================================
// ?GetType@idDoor_Laser@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF40
// RVA : 0x0053FF40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idDoor_Laser::GetType(idDoor_Laser *this)
{
  return &idDoor_Laser::Type;
}


// ========================================================================
// ?GetType@idRoamSpawn@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF50
// RVA : 0x0053FF50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idRoamSpawn::GetType(idRoamSpawn *this)
{
  return &idRoamSpawn::Type;
}


// ========================================================================
// ?GetType@idEntityFx@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF60
// RVA : 0x0053FF60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idEntityFx::GetType(idEntityFx *this)
{
  return &idEntityFx::Type;
}


// ========================================================================
// ?GetType@idTest_AimPoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF70
// RVA : 0x0053FF70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTest_AimPoint::GetType(idTest_AimPoint *this)
{
  return &idTest_AimPoint::Type;
}


// ========================================================================
// ?GetType@idTest_MetaData_Circle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF80
// RVA : 0x0053FF80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTest_MetaData_Circle::GetType(idTest_MetaData_Circle *this)
{
  return &idTest_MetaData_Circle::Type;
}


// ========================================================================
// ?GetType@idTest_MetaData_Fov@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FF90
// RVA : 0x0053FF90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTest_MetaData_Fov::GetType(idTest_MetaData_Fov *this)
{
  return &idTest_MetaData_Fov::Type;
}


// ========================================================================
// ?GetType@idTest_MetaData_Cylinder2@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFA0
// RVA : 0x0053FFA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTest_MetaData_Cylinder2::GetType(idTest_MetaData_Cylinder2 *this)
{
  return &idTest_MetaData_Cylinder2::Type;
}


// ========================================================================
// ?GetType@idTest_MetaData_WebPath@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFB0
// RVA : 0x0053FFB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTest_MetaData_WebPath::GetType(idTest_MetaData_WebPath *this)
{
  return &idTest_MetaData_WebPath::Type;
}


// ========================================================================
// ?GetType@idPanzerHund@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFC0
// RVA : 0x0053FFC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPanzerHund::GetType(idPanzerHund *this)
{
  return &idPanzerHund::Type;
}


// ========================================================================
// ?GetType@mgFuncSaveGame@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFD0
// RVA : 0x0053FFD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall mgFuncSaveGame::GetType(mgFuncSaveGame *this)
{
  return &mgFuncSaveGame::Type;
}


// ========================================================================
// ?GetType@mgFunc_CaptureFrames@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFE0
// RVA : 0x0053FFE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall mgFunc_CaptureFrames::GetType(mgFunc_CaptureFrames *this)
{
  return &mgFunc_CaptureFrames::Type;
}


// ========================================================================
// ?GetType@idExplodable@@UBAPAVidTypeInfo@@XZ
// EA  : 0x8253FFF0
// RVA : 0x0053FFF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idExplodable::GetType(idExplodable *this)
{
  return &idExplodable::Type;
}


// ========================================================================
// ?GetType@idAIBehaviors@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540000
// RVA : 0x00540000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIBehaviors::GetType(idAIBehaviors *this)
{
  return &idAIBehaviors::Type;
}


// ========================================================================
// ?GetType@idAIActionFSM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540010
// RVA : 0x00540010
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIActionFSM::GetType(idAIActionFSM *this)
{
  return &idAIActionFSM::Type;
}


// ========================================================================
// ?GetType@Shared_UnhandledError@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540020
// RVA : 0x00540020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall Shared_UnhandledError::GetType(Shared_UnhandledError *this)
{
  return &Shared_UnhandledError::Type;
}


// ========================================================================
// ?GetType@SEARCH_MoveToPoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540030
// RVA : 0x00540030
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall SEARCH_MoveToPoint::GetType(SEARCH_MoveToPoint *this)
{
  return &SEARCH_MoveToPoint::Type;
}


// ========================================================================
// ?GetType@idSearch_Intro@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540040
// RVA : 0x00540040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSearch_Intro::GetType(idSearch_Intro *this)
{
  return &idSearch_Intro::Type;
}


// ========================================================================
// ?GetType@SEARCH_MoveToPointDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540050
// RVA : 0x00540050
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall SEARCH_MoveToPointDone::GetType(SEARCH_MoveToPointDone *this)
{
  return &SEARCH_MoveToPointDone::Type;
}


// ========================================================================
// ?GetType@SEARCH_PerformAction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540060
// RVA : 0x00540060
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall SEARCH_PerformAction::GetType(SEARCH_PerformAction *this)
{
  return &SEARCH_PerformAction::Type;
}


// ========================================================================
// ?GetType@idSearch_PerformAction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540070
// RVA : 0x00540070
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSearch_PerformAction::GetType(idSearch_PerformAction *this)
{
  return &idSearch_PerformAction::Type;
}


// ========================================================================
// ?GetType@PCI_VOFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540080
// RVA : 0x00540080
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_VOFinished::GetType(PCI_VOFinished *this)
{
  return &PCI_VOFinished::Type;
}


// ========================================================================
// ?GetType@PCI_VOFinished_With_Delay@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540090
// RVA : 0x00540090
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_VOFinished_With_Delay::GetType(PCI_VOFinished_With_Delay *this)
{
  return &PCI_VOFinished_With_Delay::Type;
}


// ========================================================================
// ?GetType@PCI_ShouldProcessInteraction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400A0
// RVA : 0x005400A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_ShouldProcessInteraction::GetType(PCI_ShouldProcessInteraction *this)
{
  return &PCI_ShouldProcessInteraction::Type;
}


// ========================================================================
// ?GetType@PCI_StartInteraction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400B0
// RVA : 0x005400B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_StartInteraction::GetType(PCI_StartInteraction *this)
{
  return &PCI_StartInteraction::Type;
}


// ========================================================================
// ?GetType@PCI_MoveToInteractionPoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400C0
// RVA : 0x005400C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_MoveToInteractionPoint::GetType(PCI_MoveToInteractionPoint *this)
{
  return &PCI_MoveToInteractionPoint::Type;
}


// ========================================================================
// ?GetType@PCI_ShouldDeliverJobCompleteVO_EARLY@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400D0
// RVA : 0x005400D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_ShouldDeliverJobCompleteVO_EARLY::GetType(PCI_ShouldDeliverJobCompleteVO_EARLY *this)
{
  return &PCI_ShouldDeliverJobCompleteVO_EARLY::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_ProcessEmptyInteraction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400E0
// RVA : 0x005400E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_ProcessEmptyInteraction::GetType(
        idPlayerInteract_ProcessEmptyInteraction *this)
{
  return &idPlayerInteract_ProcessEmptyInteraction::Type;
}


// ========================================================================
// ?GetType@PCI_ShouldDeliverJobFailedVO@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825400F0
// RVA : 0x005400F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_ShouldDeliverJobFailedVO::GetType(PCI_ShouldDeliverJobFailedVO *this)
{
  return &PCI_ShouldDeliverJobFailedVO::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_ProcessInteraction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540100
// RVA : 0x00540100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_ProcessInteraction::GetType(idPlayerInteract_ProcessInteraction *this)
{
  return &idPlayerInteract_ProcessInteraction::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_NonJobDeliverJobCompleteVO@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540110
// RVA : 0x00540110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_NonJobDeliverJobCompleteVO::GetType(
        idPlayerInteract_NonJobDeliverJobCompleteVO *this)
{
  return &idPlayerInteract_NonJobDeliverJobCompleteVO::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_DeliverJobFailedVO@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540120
// RVA : 0x00540120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_DeliverJobFailedVO::GetType(idPlayerInteract_DeliverJobFailedVO *this)
{
  return &idPlayerInteract_DeliverJobFailedVO::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_WaitForJobChoice@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540130
// RVA : 0x00540130
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_WaitForJobChoice::GetType(idPlayerInteract_WaitForJobChoice *this)
{
  return &idPlayerInteract_WaitForJobChoice::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_PlayerLeft@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540140
// RVA : 0x00540140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_PlayerLeft::GetType(idPlayerInteract_PlayerLeft *this)
{
  return &idPlayerInteract_PlayerLeft::Type;
}


// ========================================================================
// ?GetType@idPlayerInteract_MerchantInteractLoop@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540150
// RVA : 0x00540150
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idPlayerInteract_MerchantInteractLoop::GetType(idPlayerInteract_MerchantInteractLoop *this)
{
  return &idPlayerInteract_MerchantInteractLoop::Type;
}


// ========================================================================
// ?GetType@PCI_WaitFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540160
// RVA : 0x00540160
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall PCI_WaitFinished::GetType(PCI_WaitFinished *this)
{
  return &PCI_WaitFinished::Type;
}


// ========================================================================
// ?GetType@ITF_Track@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540170
// RVA : 0x00540170
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ITF_Track::GetType(ITF_Track *this)
{
  return &ITF_Track::Type;
}


// ========================================================================
// ?GetType@idIdleTrackFriendly_Track@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540180
// RVA : 0x00540180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idIdleTrackFriendly_Track::GetType(idIdleTrackFriendly_Track *this)
{
  return &idIdleTrackFriendly_Track::Type;
}


// ========================================================================
// ?GetType@FOLLOWFRIENDLY_NoTarget@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540190
// RVA : 0x00540190
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall FOLLOWFRIENDLY_NoTarget::GetType(FOLLOWFRIENDLY_NoTarget *this)
{
  return &FOLLOWFRIENDLY_NoTarget::Type;
}


// ========================================================================
// ?GetType@FOLLOWFRIENDLY_PathBlocked@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401A0
// RVA : 0x005401A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall FOLLOWFRIENDLY_PathBlocked::GetType(FOLLOWFRIENDLY_PathBlocked *this)
{
  return &FOLLOWFRIENDLY_PathBlocked::Type;
}


// ========================================================================
// ?GetType@idFollowFriendly_Default@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401B0
// RVA : 0x005401B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idFollowFriendly_Default::GetType(idFollowFriendly_Default *this)
{
  return &idFollowFriendly_Default::Type;
}


// ========================================================================
// ?GetType@idFollowFriendly_MoveToTarget@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401C0
// RVA : 0x005401C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idFollowFriendly_MoveToTarget::GetType(idFollowFriendly_MoveToTarget *this)
{
  return &idFollowFriendly_MoveToTarget::Type;
}


// ========================================================================
// ?GetType@idFollowFriendly_BackAwayBlocked@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401D0
// RVA : 0x005401D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idFollowFriendly_BackAwayBlocked::GetType(idFollowFriendly_BackAwayBlocked *this)
{
  return &idFollowFriendly_BackAwayBlocked::Type;
}


// ========================================================================
// ?GetType@RELAXED_HasFollowPath@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401E0
// RVA : 0x005401E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_HasFollowPath::GetType(RELAXED_HasFollowPath *this)
{
  return &RELAXED_HasFollowPath::Type;
}


// ========================================================================
// ?GetType@RELAXED_ShouldInvestigateBody@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825401F0
// RVA : 0x005401F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_ShouldInvestigateBody::GetType(RELAXED_ShouldInvestigateBody *this)
{
  return &RELAXED_ShouldInvestigateBody::Type;
}


// ========================================================================
// ?GetType@RELAXED_ShouldReturnToSpawnPos@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540200
// RVA : 0x00540200
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_ShouldReturnToSpawnPos::GetType(RELAXED_ShouldReturnToSpawnPos *this)
{
  return &RELAXED_ShouldReturnToSpawnPos::Type;
}


// ========================================================================
// ?GetType@RELAXED_FollowFriendlyDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540210
// RVA : 0x00540210
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_FollowFriendlyDone::GetType(RELAXED_FollowFriendlyDone *this)
{
  return &RELAXED_FollowFriendlyDone::Type;
}


// ========================================================================
// ?GetType@idRelaxed_FollowPath@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540220
// RVA : 0x00540220
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idRelaxed_FollowPath::GetType(idRelaxed_FollowPath *this)
{
  return &idRelaxed_FollowPath::Type;
}


// ========================================================================
// ?GetType@RELAXED_PlugAnimDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540230
// RVA : 0x00540230
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_PlugAnimDone::GetType(RELAXED_PlugAnimDone *this)
{
  return &RELAXED_PlugAnimDone::Type;
}


// ========================================================================
// ?GetType@RELAXED_PlayerInteractDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540240
// RVA : 0x00540240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_PlayerInteractDone::GetType(RELAXED_PlayerInteractDone *this)
{
  return &RELAXED_PlayerInteractDone::Type;
}


// ========================================================================
// ?GetType@RELAXED_InvestigateBodyDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540250
// RVA : 0x00540250
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_InvestigateBodyDone::GetType(RELAXED_InvestigateBodyDone *this)
{
  return &RELAXED_InvestigateBodyDone::Type;
}


// ========================================================================
// ?GetType@RELAXED_WaitExpired@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540260
// RVA : 0x00540260
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RELAXED_WaitExpired::GetType(RELAXED_WaitExpired *this)
{
  return &RELAXED_WaitExpired::Type;
}


// ========================================================================
// ?GetType@MELEE_NoTarget@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540270
// RVA : 0x00540270
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall MELEE_NoTarget::GetType(MELEE_NoTarget *this)
{
  return &MELEE_NoTarget::Type;
}


// ========================================================================
// ?GetType@idMelee_Default@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540280
// RVA : 0x00540280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idMelee_Default::GetType(idMelee_Default *this)
{
  return &idMelee_Default::Type;
}


// ========================================================================
// ?GetType@MELEE_RepositionDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540290
// RVA : 0x00540290
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall MELEE_RepositionDone::GetType(MELEE_RepositionDone *this)
{
  return &MELEE_RepositionDone::Type;
}


// ========================================================================
// ?GetType@IC_ReloadWeaponSoon@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402A0
// RVA : 0x005402A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_ReloadWeaponSoon::GetType(IC_ReloadWeaponSoon *this)
{
  return &IC_ReloadWeaponSoon::Type;
}


// ========================================================================
// ?GetType@IC_AvoidGrenade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402B0
// RVA : 0x005402B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_AvoidGrenade::GetType(IC_AvoidGrenade *this)
{
  return &IC_AvoidGrenade::Type;
}


// ========================================================================
// ?GetType@IC_AvoidAim@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402C0
// RVA : 0x005402C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_AvoidAim::GetType(IC_AvoidAim *this)
{
  return &IC_AvoidAim::Type;
}


// ========================================================================
// ?GetType@idInCover_Default@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402D0
// RVA : 0x005402D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInCover_Default::GetType(idInCover_Default *this)
{
  return &idInCover_Default::Type;
}


// ========================================================================
// ?GetType@IC_EnemyClose@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402E0
// RVA : 0x005402E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_EnemyClose::GetType(IC_EnemyClose *this)
{
  return &IC_EnemyClose::Type;
}


// ========================================================================
// ?GetType@IC_PossiblyThrowGrenade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825402F0
// RVA : 0x005402F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_PossiblyThrowGrenade::GetType(IC_PossiblyThrowGrenade *this)
{
  return &IC_PossiblyThrowGrenade::Type;
}


// ========================================================================
// ?GetType@idInCover_LeanIn@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540300
// RVA : 0x00540300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInCover_LeanIn::GetType(idInCover_LeanIn *this)
{
  return &idInCover_LeanIn::Type;
}


// ========================================================================
// ?GetType@IC_CoverExpiredFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540310
// RVA : 0x00540310
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_CoverExpiredFinished::GetType(IC_CoverExpiredFinished *this)
{
  return &IC_CoverExpiredFinished::Type;
}


// ========================================================================
// ?GetType@IC_EnemyCloseFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540320
// RVA : 0x00540320
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_EnemyCloseFinished::GetType(IC_EnemyCloseFinished *this)
{
  return &IC_EnemyCloseFinished::Type;
}


// ========================================================================
// ?GetType@IC_NoContactFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540330
// RVA : 0x00540330
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_NoContactFinished::GetType(IC_NoContactFinished *this)
{
  return &IC_NoContactFinished::Type;
}


// ========================================================================
// ?GetType@IC_ThrowFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540340
// RVA : 0x00540340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall IC_ThrowFinished::GetType(IC_ThrowFinished *this)
{
  return &IC_ThrowFinished::Type;
}


// ========================================================================
// ?GetType@idInCover_Hide@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540350
// RVA : 0x00540350
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInCover_Hide::GetType(idInCover_Hide *this)
{
  return &idInCover_Hide::Type;
}


// ========================================================================
// ?GetType@idInCover_Blindfire@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540360
// RVA : 0x00540360
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idInCover_Blindfire::GetType(idInCover_Blindfire *this)
{
  return &idInCover_Blindfire::Type;
}


// ========================================================================
// ?GetType@TC_ReachedCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540370
// RVA : 0x00540370
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TC_ReachedCover::GetType(TC_ReachedCover *this)
{
  return &TC_ReachedCover::Type;
}


// ========================================================================
// ?GetType@TC_MoveFailedPathingFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540380
// RVA : 0x00540380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TC_MoveFailedPathingFailed::GetType(TC_MoveFailedPathingFailed *this)
{
  return &TC_MoveFailedPathingFailed::Type;
}


// ========================================================================
// ?GetType@TC_ShouldDodge@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540390
// RVA : 0x00540390
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TC_ShouldDodge::GetType(TC_ShouldDodge *this)
{
  return &TC_ShouldDodge::Type;
}


// ========================================================================
// ?GetType@idTakeCover_Dodge@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403A0
// RVA : 0x005403A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTakeCover_Dodge::GetType(idTakeCover_Dodge *this)
{
  return &idTakeCover_Dodge::Type;
}


// ========================================================================
// ?GetType@TC_StartOpenCombat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403B0
// RVA : 0x005403B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TC_StartOpenCombat::GetType(TC_StartOpenCombat *this)
{
  return &TC_StartOpenCombat::Type;
}


// ========================================================================
// ?GetType@idTakeCover_InCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403C0
// RVA : 0x005403C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTakeCover_InCover::GetType(idTakeCover_InCover *this)
{
  return &idTakeCover_InCover::Type;
}


// ========================================================================
// ?GetType@OC_ShouldMoveToSightEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403D0
// RVA : 0x005403D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ShouldMoveToSightEnemy::GetType(OC_ShouldMoveToSightEnemy *this)
{
  return &OC_ShouldMoveToSightEnemy::Type;
}


// ========================================================================
// ?GetType@OC_MoveFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403E0
// RVA : 0x005403E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_MoveFailed::GetType(OC_MoveFailed *this)
{
  return &OC_MoveFailed::Type;
}


// ========================================================================
// ?GetType@OC_ReachedAttackPos@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825403F0
// RVA : 0x005403F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ReachedAttackPos::GetType(OC_ReachedAttackPos *this)
{
  return &OC_ReachedAttackPos::Type;
}


// ========================================================================
// ?GetType@OC_ShouldShoot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540400
// RVA : 0x00540400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ShouldShoot::GetType(OC_ShouldShoot *this)
{
  return &OC_ShouldShoot::Type;
}


// ========================================================================
// ?GetType@OC_IsCrouched@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540410
// RVA : 0x00540410
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_IsCrouched::GetType(OC_IsCrouched *this)
{
  return &OC_IsCrouched::Type;
}


// ========================================================================
// ?GetType@OC_ShouldReloadEnemyOutOfAAS@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540420
// RVA : 0x00540420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ShouldReloadEnemyOutOfAAS::GetType(OC_ShouldReloadEnemyOutOfAAS *this)
{
  return &OC_ShouldReloadEnemyOutOfAAS::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_MoveTowardEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540430
// RVA : 0x00540430
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_MoveTowardEnemy::GetType(idOpenCombat_MoveTowardEnemy *this)
{
  return &idOpenCombat_MoveTowardEnemy::Type;
}


// ========================================================================
// ?GetType@OC_ThrowProjectileFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540440
// RVA : 0x00540440
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ThrowProjectileFailed::GetType(OC_ThrowProjectileFailed *this)
{
  return &OC_ThrowProjectileFailed::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_Shoot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540450
// RVA : 0x00540450
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_Shoot::GetType(idOpenCombat_Shoot *this)
{
  return &idOpenCombat_Shoot::Type;
}


// ========================================================================
// ?GetType@OC_ChargeMeleeNotIfRetreating@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540460
// RVA : 0x00540460
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ChargeMeleeNotIfRetreating::GetType(OC_ChargeMeleeNotIfRetreating *this)
{
  return &OC_ChargeMeleeNotIfRetreating::Type;
}


// ========================================================================
// ?GetType@OC_ShouldRage@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540470
// RVA : 0x00540470
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_ShouldRage::GetType(OC_ShouldRage *this)
{
  return &OC_ShouldRage::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_AttackMove@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540480
// RVA : 0x00540480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_AttackMove::GetType(idOpenCombat_AttackMove *this)
{
  return &idOpenCombat_AttackMove::Type;
}


// ========================================================================
// ?GetType@OC_LeapAttackDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540490
// RVA : 0x00540490
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_LeapAttackDone::GetType(OC_LeapAttackDone *this)
{
  return &OC_LeapAttackDone::Type;
}


// ========================================================================
// ?GetType@OC_TargetMoved@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404A0
// RVA : 0x005404A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_TargetMoved::GetType(OC_TargetMoved *this)
{
  return &OC_TargetMoved::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_MoveToCoverAndReload@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404B0
// RVA : 0x005404B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_MoveToCoverAndReload::GetType(idOpenCombat_MoveToCoverAndReload *this)
{
  return &idOpenCombat_MoveToCoverAndReload::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_ReloadWeapon@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404C0
// RVA : 0x005404C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_ReloadWeapon::GetType(idOpenCombat_ReloadWeapon *this)
{
  return &idOpenCombat_ReloadWeapon::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_Crouch@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404D0
// RVA : 0x005404D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_Crouch::GetType(idOpenCombat_Crouch *this)
{
  return &idOpenCombat_Crouch::Type;
}


// ========================================================================
// ?GetType@OC_RageDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404E0
// RVA : 0x005404E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_RageDone::GetType(OC_RageDone *this)
{
  return &OC_RageDone::Type;
}


// ========================================================================
// ?GetType@OC_MoveFailedDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825404F0
// RVA : 0x005404F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_MoveFailedDone::GetType(OC_MoveFailedDone *this)
{
  return &OC_MoveFailedDone::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_MoveToRecharge@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540500
// RVA : 0x00540500
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_MoveToRecharge::GetType(idOpenCombat_MoveToRecharge *this)
{
  return &idOpenCombat_MoveToRecharge::Type;
}


// ========================================================================
// ?GetType@OC_MoveToRoleHintNodeFailedObstructed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540510
// RVA : 0x00540510
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_MoveToRoleHintNodeFailedObstructed::GetType(OC_MoveToRoleHintNodeFailedObstructed *this)
{
  return &OC_MoveToRoleHintNodeFailedObstructed::Type;
}


// ========================================================================
// ?GetType@OC_MoveToRoleHintNodeFailedInvalidEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540520
// RVA : 0x00540520
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_MoveToRoleHintNodeFailedInvalidEntity::GetType(
        OC_MoveToRoleHintNodeFailedInvalidEntity *this)
{
  return &OC_MoveToRoleHintNodeFailedInvalidEntity::Type;
}


// ========================================================================
// ?GetType@OC_MoveToRoleHintNodeFailedNoPathGroup@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540530
// RVA : 0x00540530
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall OC_MoveToRoleHintNodeFailedNoPathGroup::GetType(OC_MoveToRoleHintNodeFailedNoPathGroup *this)
{
  return &OC_MoveToRoleHintNodeFailedNoPathGroup::Type;
}


// ========================================================================
// ?GetType@idOpenCombat_MoveToRoleHintNode@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540540
// RVA : 0x00540540
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idOpenCombat_MoveToRoleHintNode::GetType(idOpenCombat_MoveToRoleHintNode *this)
{
  return &idOpenCombat_MoveToRoleHintNode::Type;
}


// ========================================================================
// ?GetType@AVOID_AvoidEntityInvalid@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540550
// RVA : 0x00540550
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_AvoidEntityInvalid::GetType(AVOID_AvoidEntityInvalid *this)
{
  return &AVOID_AvoidEntityInvalid::Type;
}


// ========================================================================
// ?GetType@AVOID_ShouldDive@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540560
// RVA : 0x00540560
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_ShouldDive::GetType(AVOID_ShouldDive *this)
{
  return &AVOID_ShouldDive::Type;
}


// ========================================================================
// ?GetType@AVOID_ShouldCower@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540570
// RVA : 0x00540570
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_ShouldCower::GetType(AVOID_ShouldCower *this)
{
  return &AVOID_ShouldCower::Type;
}


// ========================================================================
// ?GetType@AVOID_DiveDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540580
// RVA : 0x00540580
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_DiveDone::GetType(AVOID_DiveDone *this)
{
  return &AVOID_DiveDone::Type;
}


// ========================================================================
// ?GetType@AVOID_ReachedCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540590
// RVA : 0x00540590
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_ReachedCover::GetType(AVOID_ReachedCover *this)
{
  return &AVOID_ReachedCover::Type;
}


// ========================================================================
// ?GetType@idAvoid_WaitInCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405A0
// RVA : 0x005405A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAvoid_WaitInCover::GetType(idAvoid_WaitInCover *this)
{
  return &idAvoid_WaitInCover::Type;
}


// ========================================================================
// ?GetType@AVOID_KickedGrenade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405B0
// RVA : 0x005405B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AVOID_KickedGrenade::GetType(AVOID_KickedGrenade *this)
{
  return &AVOID_KickedGrenade::Type;
}


// ========================================================================
// ?GetType@idAvoid_Cower@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405C0
// RVA : 0x005405C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAvoid_Cower::GetType(idAvoid_Cower *this)
{
  return &idAvoid_Cower::Type;
}


// ========================================================================
// ?GetType@BACKSTAND_MoveDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405D0
// RVA : 0x005405D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall BACKSTAND_MoveDone::GetType(BACKSTAND_MoveDone *this)
{
  return &BACKSTAND_MoveDone::Type;
}


// ========================================================================
// ?GetType@BACKSTAND_ShouldMove@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405E0
// RVA : 0x005405E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall BACKSTAND_ShouldMove::GetType(BACKSTAND_ShouldMove *this)
{
  return &BACKSTAND_ShouldMove::Type;
}


// ========================================================================
// ?GetType@BACKSTAND_ShouldRise@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825405F0
// RVA : 0x005405F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall BACKSTAND_ShouldRise::GetType(BACKSTAND_ShouldRise *this)
{
  return &BACKSTAND_ShouldRise::Type;
}


// ========================================================================
// ?GetType@idBackStand_Moving@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540600
// RVA : 0x00540600
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBackStand_Moving::GetType(idBackStand_Moving *this)
{
  return &idBackStand_Moving::Type;
}


// ========================================================================
// ?GetType@idBackStand_Attacking@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540610
// RVA : 0x00540610
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBackStand_Attacking::GetType(idBackStand_Attacking *this)
{
  return &idBackStand_Attacking::Type;
}


// ========================================================================
// ?GetType@ADVANCE_MoveFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540620
// RVA : 0x00540620
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_MoveFailed::GetType(ADVANCE_MoveFailed *this)
{
  return &ADVANCE_MoveFailed::Type;
}


// ========================================================================
// ?GetType@ADVANCE_ShouldMelee@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540630
// RVA : 0x00540630
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_ShouldMelee::GetType(ADVANCE_ShouldMelee *this)
{
  return &ADVANCE_ShouldMelee::Type;
}


// ========================================================================
// ?GetType@ADVANCE_ShouldSneakUpOnEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540640
// RVA : 0x00540640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_ShouldSneakUpOnEnemy::GetType(ADVANCE_ShouldSneakUpOnEnemy *this)
{
  return &ADVANCE_ShouldSneakUpOnEnemy::Type;
}


// ========================================================================
// ?GetType@idAdvance_Wait@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540650
// RVA : 0x00540650
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAdvance_Wait::GetType(idAdvance_Wait *this)
{
  return &idAdvance_Wait::Type;
}


// ========================================================================
// ?GetType@ADVANCE_SideStepFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540660
// RVA : 0x00540660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_SideStepFailed::GetType(ADVANCE_SideStepFailed *this)
{
  return &ADVANCE_SideStepFailed::Type;
}


// ========================================================================
// ?GetType@idAdvance_AttackMelee@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540670
// RVA : 0x00540670
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAdvance_AttackMelee::GetType(idAdvance_AttackMelee *this)
{
  return &idAdvance_AttackMelee::Type;
}


// ========================================================================
// ?GetType@ADVANCE_SneakUpOnEnemyFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540680
// RVA : 0x00540680
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_SneakUpOnEnemyFailed::GetType(ADVANCE_SneakUpOnEnemyFailed *this)
{
  return &ADVANCE_SneakUpOnEnemyFailed::Type;
}


// ========================================================================
// ?GetType@ADVANCE_ThrowProjectileDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540690
// RVA : 0x00540690
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_ThrowProjectileDone::GetType(ADVANCE_ThrowProjectileDone *this)
{
  return &ADVANCE_ThrowProjectileDone::Type;
}


// ========================================================================
// ?GetType@ADVANCE_PlayOverrideAnimDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406A0
// RVA : 0x005406A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_PlayOverrideAnimDone::GetType(ADVANCE_PlayOverrideAnimDone *this)
{
  return &ADVANCE_PlayOverrideAnimDone::Type;
}


// ========================================================================
// ?GetType@ADVANCE_BackStandDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406B0
// RVA : 0x005406B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ADVANCE_BackStandDone::GetType(ADVANCE_BackStandDone *this)
{
  return &ADVANCE_BackStandDone::Type;
}


// ========================================================================
// ?GetType@COMBAT_ShouldSightEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406C0
// RVA : 0x005406C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_ShouldSightEnemy::GetType(COMBAT_ShouldSightEnemy *this)
{
  return &COMBAT_ShouldSightEnemy::Type;
}


// ========================================================================
// ?GetType@COMBAT_OpenCombatShouldTakeCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406D0
// RVA : 0x005406D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_OpenCombatShouldTakeCover::GetType(COMBAT_OpenCombatShouldTakeCover *this)
{
  return &COMBAT_OpenCombatShouldTakeCover::Type;
}


// ========================================================================
// ?GetType@COMBAT_NoValidCombatState@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406E0
// RVA : 0x005406E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_NoValidCombatState::GetType(COMBAT_NoValidCombatState *this)
{
  return &COMBAT_NoValidCombatState::Type;
}


// ========================================================================
// ?GetType@COMBAT_RoleChanged@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825406F0
// RVA : 0x005406F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_RoleChanged::GetType(COMBAT_RoleChanged *this)
{
  return &COMBAT_RoleChanged::Type;
}


// ========================================================================
// ?GetType@idCombat_ForceIdle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540700
// RVA : 0x00540700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_ForceIdle::GetType(idCombat_ForceIdle *this)
{
  return &idCombat_ForceIdle::Type;
}


// ========================================================================
// ?GetType@COMBAT_ForceMoveToEntityAgain@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540710
// RVA : 0x00540710
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_ForceMoveToEntityAgain::GetType(COMBAT_ForceMoveToEntityAgain *this)
{
  return &COMBAT_ForceMoveToEntityAgain::Type;
}


// ========================================================================
// ?GetType@idCombat_PlayTraversal@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540720
// RVA : 0x00540720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_PlayTraversal::GetType(idCombat_PlayTraversal *this)
{
  return &idCombat_PlayTraversal::Type;
}


// ========================================================================
// ?GetType@idCombat_Retreat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540730
// RVA : 0x00540730
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_Retreat::GetType(idCombat_Retreat *this)
{
  return &idCombat_Retreat::Type;
}


// ========================================================================
// ?GetType@idCombat_Advance@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540740
// RVA : 0x00540740
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_Advance::GetType(idCombat_Advance *this)
{
  return &idCombat_Advance::Type;
}


// ========================================================================
// ?GetType@COMBAT_OpenCombatDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540750
// RVA : 0x00540750
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_OpenCombatDone::GetType(COMBAT_OpenCombatDone *this)
{
  return &COMBAT_OpenCombatDone::Type;
}


// ========================================================================
// ?GetType@COMBAT_AtTurret@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540760
// RVA : 0x00540760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_AtTurret::GetType(COMBAT_AtTurret *this)
{
  return &COMBAT_AtTurret::Type;
}


// ========================================================================
// ?GetType@idCombat_UseTurret@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540770
// RVA : 0x00540770
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_UseTurret::GetType(idCombat_UseTurret *this)
{
  return &idCombat_UseTurret::Type;
}


// ========================================================================
// ?GetType@COMBAT_MoveToZiplineFailed@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540780
// RVA : 0x00540780
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_MoveToZiplineFailed::GetType(COMBAT_MoveToZiplineFailed *this)
{
  return &COMBAT_MoveToZiplineFailed::Type;
}


// ========================================================================
// ?GetType@idCombat_MountZipline@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540790
// RVA : 0x00540790
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombat_MountZipline::GetType(idCombat_MountZipline *this)
{
  return &idCombat_MountZipline::Type;
}


// ========================================================================
// ?GetType@COMBAT_AtPlugAnim@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407A0
// RVA : 0x005407A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_AtPlugAnim::GetType(COMBAT_AtPlugAnim *this)
{
  return &COMBAT_AtPlugAnim::Type;
}


// ========================================================================
// ?GetType@COMBAT_RetryCombat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407B0
// RVA : 0x005407B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall COMBAT_RetryCombat::GetType(COMBAT_RetryCombat *this)
{
  return &COMBAT_RetryCombat::Type;
}


// ========================================================================
// ?GetType@CombatScenePoint_Shall_MoveToScenePoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407C0
// RVA : 0x005407C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall CombatScenePoint_Shall_MoveToScenePoint::GetType(CombatScenePoint_Shall_MoveToScenePoint *this)
{
  return &CombatScenePoint_Shall_MoveToScenePoint::Type;
}


// ========================================================================
// ?GetType@CombatScenePoint_Shall_Enter_Turret@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407D0
// RVA : 0x005407D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall CombatScenePoint_Shall_Enter_Turret::GetType(CombatScenePoint_Shall_Enter_Turret *this)
{
  return &CombatScenePoint_Shall_Enter_Turret::Type;
}


// ========================================================================
// ?GetType@CombatScenePoint_Shall_ApplyRestriction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407E0
// RVA : 0x005407E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall CombatScenePoint_Shall_ApplyRestriction::GetType(CombatScenePoint_Shall_ApplyRestriction *this)
{
  return &CombatScenePoint_Shall_ApplyRestriction::Type;
}


// ========================================================================
// ?GetType@CombatScenePoint_Shared_Finished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825407F0
// RVA : 0x005407F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall CombatScenePoint_Shared_Finished::GetType(CombatScenePoint_Shared_Finished *this)
{
  return &CombatScenePoint_Shared_Finished::Type;
}


// ========================================================================
// ?GetType@idCombatScenePoint_UseTurret@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540800
// RVA : 0x00540800
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombatScenePoint_UseTurret::GetType(idCombatScenePoint_UseTurret *this)
{
  return &idCombatScenePoint_UseTurret::Type;
}


// ========================================================================
// ?GetType@idCombatScenePoint_Idle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540810
// RVA : 0x00540810
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombatScenePoint_Idle::GetType(idCombatScenePoint_Idle *this)
{
  return &idCombatScenePoint_Idle::Type;
}


// ========================================================================
// ?GetType@idCombatScenePoint_Melee@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540820
// RVA : 0x00540820
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombatScenePoint_Melee::GetType(idCombatScenePoint_Melee *this)
{
  return &idCombatScenePoint_Melee::Type;
}


// ========================================================================
// ?GetType@idCombatScenePointFSM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540830
// RVA : 0x00540830
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idCombatScenePointFSM::GetType(idCombatScenePointFSM *this)
{
  return &idCombatScenePointFSM::Type;
}


// ========================================================================
// ?GetType@SearchScenePoint_Shall_LookAtScenePoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540840
// RVA : 0x00540840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall SearchScenePoint_Shall_LookAtScenePoint::GetType(SearchScenePoint_Shall_LookAtScenePoint *this)
{
  return &SearchScenePoint_Shall_LookAtScenePoint::Type;
}


// ========================================================================
// ?GetType@idSearchScenePoint_StayAt@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540850
// RVA : 0x00540850
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idSearchScenePoint_StayAt::GetType(idSearchScenePoint_StayAt *this)
{
  return &idSearchScenePoint_StayAt::Type;
}


// ========================================================================
// ?GetType@RoamScenePoint_Shall_FindScenePoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540860
// RVA : 0x00540860
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RoamScenePoint_Shall_FindScenePoint::GetType(RoamScenePoint_Shall_FindScenePoint *this)
{
  return &RoamScenePoint_Shall_FindScenePoint::Type;
}


// ========================================================================
// ?GetType@RoamScenePoint_Shared_Finished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540870
// RVA : 0x00540870
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall RoamScenePoint_Shared_Finished::GetType(RoamScenePoint_Shared_Finished *this)
{
  return &RoamScenePoint_Shared_Finished::Type;
}


// ========================================================================
// ?GetType@idRoamScenePoint_StayAt@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540880
// RVA : 0x00540880
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idRoamScenePoint_StayAt::GetType(idRoamScenePoint_StayAt *this)
{
  return &idRoamScenePoint_StayAt::Type;
}


// ========================================================================
// ?GetType@AC_CanUseSearchScenePoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540890
// RVA : 0x00540890
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_CanUseSearchScenePoint::GetType(AC_CanUseSearchScenePoint *this)
{
  return &AC_CanUseSearchScenePoint::Type;
}


// ========================================================================
// ?GetType@AC_CanUseCombat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408A0
// RVA : 0x005408A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_CanUseCombat::GetType(AC_CanUseCombat *this)
{
  return &AC_CanUseCombat::Type;
}


// ========================================================================
// ?GetType@AC_NoEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408B0
// RVA : 0x005408B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_NoEnemy::GetType(AC_NoEnemy *this)
{
  return &AC_NoEnemy::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_Default@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408C0
// RVA : 0x005408C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_Default::GetType(idAlertCycle_Default *this)
{
  return &idAlertCycle_Default::Type;
}


// ========================================================================
// ?GetType@AC_ScriptCanUseCombat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408D0
// RVA : 0x005408D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_ScriptCanUseCombat::GetType(AC_ScriptCanUseCombat *this)
{
  return &AC_ScriptCanUseCombat::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_ActionScript@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408E0
// RVA : 0x005408E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_ActionScript::GetType(idAlertCycle_ActionScript *this)
{
  return &idAlertCycle_ActionScript::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_Combat@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825408F0
// RVA : 0x005408F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_Combat::GetType(idAlertCycle_Combat *this)
{
  return &idAlertCycle_Combat::Type;
}


// ========================================================================
// ?GetType@AC_SearchFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540900
// RVA : 0x00540900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_SearchFinished::GetType(AC_SearchFinished *this)
{
  return &AC_SearchFinished::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_Pain@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540910
// RVA : 0x00540910
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_Pain::GetType(idAlertCycle_Pain *this)
{
  return &idAlertCycle_Pain::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_Dying@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540920
// RVA : 0x00540920
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_Dying::GetType(idAlertCycle_Dying *this)
{
  return &idAlertCycle_Dying::Type;
}


// ========================================================================
// ?GetType@AC_PassifiedDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540930
// RVA : 0x00540930
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_PassifiedDone::GetType(AC_PassifiedDone *this)
{
  return &AC_PassifiedDone::Type;
}


// ========================================================================
// ?GetType@idAlertCycle_Avoid@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540940
// RVA : 0x00540940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycle_Avoid::GetType(idAlertCycle_Avoid *this)
{
  return &idAlertCycle_Avoid::Type;
}


// ========================================================================
// ?GetType@AC_ShouldDropFromShip@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540950
// RVA : 0x00540950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_ShouldDropFromShip::GetType(AC_ShouldDropFromShip *this)
{
  return &AC_ShouldDropFromShip::Type;
}


// ========================================================================
// ?GetType@AC_NotOnElevator@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540960
// RVA : 0x00540960
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AC_NotOnElevator::GetType(AC_NotOnElevator *this)
{
  return &AC_NotOnElevator::Type;
}


// ========================================================================
// ?GetType@idAlertCycleFSM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540970
// RVA : 0x00540970
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAlertCycleFSM::GetType(idAlertCycleFSM *this)
{
  return &idAlertCycleFSM::Type;
}


// ========================================================================
// ?GetType@idAIFSMLite@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540980
// RVA : 0x00540980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIFSMLite::GetType(idAIFSMLite *this)
{
  return &idAIFSMLite::Type;
}


// ========================================================================
// ?GetType@idAnimStateMoveGround@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540990
// RVA : 0x00540990
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAnimStateMoveGround::GetType(idAnimStateMoveGround *this)
{
  return &idAnimStateMoveGround::Type;
}


// ========================================================================
// ?CreateInstance@idAIAction@@SAPAVidClass@@XZ
// EA  : 0x825409A0
// RVA : 0x005409A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAIAction::CreateInstance()
{
  idLib::Warning(fmt: "Cannot instantiate abstract class %s.", "idAIAction");
  return nullptr;
}


// ========================================================================
// ?GetType@idAIAction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825409D8
// RVA : 0x005409D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAIAction::GetType(idAIAction *this)
{
  return &idAIAction::Type;
}


// ========================================================================
// ?GetType@ReachedPoint@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825409E8
// RVA : 0x005409E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ReachedPoint::GetType(ReachedPoint *this)
{
  return &ReachedPoint::Type;
}


// ========================================================================
// ?GetType@ActionEntityDeleted@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825409F8
// RVA : 0x005409F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ActionEntityDeleted::GetType(ActionEntityDeleted *this)
{
  return &ActionEntityDeleted::Type;
}


// ========================================================================
// ?GetType@ActionFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A08
// RVA : 0x00540A08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall ActionFinished::GetType(ActionFinished *this)
{
  return &ActionFinished::Type;
}


// ========================================================================
// ?GetType@idAction_MoveToEntity@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A18
// RVA : 0x00540A18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_MoveToEntity::GetType(idAction_MoveToEntity *this)
{
  return &idAction_MoveToEntity::Type;
}


// ========================================================================
// ?GetType@AbortMoveToCover@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A28
// RVA : 0x00540A28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AbortMoveToCover::GetType(AbortMoveToCover *this)
{
  return &AbortMoveToCover::Type;
}


// ========================================================================
// ?GetType@idAction_Idle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A38
// RVA : 0x00540A38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_Idle::GetType(idAction_Idle *this)
{
  return &idAction_Idle::Type;
}


// ========================================================================
// ?GetType@FinishedStanding@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A48
// RVA : 0x00540A48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall FinishedStanding::GetType(FinishedStanding *this)
{
  return &FinishedStanding::Type;
}


// ========================================================================
// ?GetType@idAction_PullTriggerLeft@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A58
// RVA : 0x00540A58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_PullTriggerLeft::GetType(idAction_PullTriggerLeft *this)
{
  return &idAction_PullTriggerLeft::Type;
}


// ========================================================================
// ?GetType@FinishedReloadingTorso@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A68
// RVA : 0x00540A68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall FinishedReloadingTorso::GetType(FinishedReloadingTorso *this)
{
  return &FinishedReloadingTorso::Type;
}


// ========================================================================
// ?GetType@idAction_LoopAnim@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A78
// RVA : 0x00540A78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_LoopAnim::GetType(idAction_LoopAnim *this)
{
  return &idAction_LoopAnim::Type;
}


// ========================================================================
// ?GetType@TraversalAnimDone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A88
// RVA : 0x00540A88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TraversalAnimDone::GetType(TraversalAnimDone *this)
{
  return &TraversalAnimDone::Type;
}


// ========================================================================
// ?GetType@idAction_ForceAnimState@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540A98
// RVA : 0x00540A98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_ForceAnimState::GetType(idAction_ForceAnimState *this)
{
  return &idAction_ForceAnimState::Type;
}


// ========================================================================
// ?GetType@idAction_Dive@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AA8
// RVA : 0x00540AA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_Dive::GetType(idAction_Dive *this)
{
  return &idAction_Dive::Type;
}


// ========================================================================
// ?GetType@TurnToEntityFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AB8
// RVA : 0x00540AB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall TurnToEntityFinished::GetType(TurnToEntityFinished *this)
{
  return &TurnToEntityFinished::Type;
}


// ========================================================================
// ?GetType@EntityNear@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AC8
// RVA : 0x00540AC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall EntityNear::GetType(EntityNear *this)
{
  return &EntityNear::Type;
}


// ========================================================================
// ?GetType@idAction_PlayVoiceOver@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AD8
// RVA : 0x00540AD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_PlayVoiceOver::GetType(idAction_PlayVoiceOver *this)
{
  return &idAction_PlayVoiceOver::Type;
}


// ========================================================================
// ?GetType@idAction_PlayOverrideAnim@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AE8
// RVA : 0x00540AE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_PlayOverrideAnim::GetType(idAction_PlayOverrideAnim *this)
{
  return &idAction_PlayOverrideAnim::Type;
}


// ========================================================================
// ?GetType@HolsterWeaponFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540AF8
// RVA : 0x00540AF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall HolsterWeaponFinished::GetType(HolsterWeaponFinished *this)
{
  return &HolsterWeaponFinished::Type;
}


// ========================================================================
// ?GetType@CoverActionFinished@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B08
// RVA : 0x00540B08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall CoverActionFinished::GetType(CoverActionFinished *this)
{
  return &CoverActionFinished::Type;
}


// ========================================================================
// ?GetType@AIVarExpressionTrue@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B18
// RVA : 0x00540B18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall AIVarExpressionTrue::GetType(AIVarExpressionTrue *this)
{
  return &AIVarExpressionTrue::Type;
}


// ========================================================================
// ?GetType@idAction_SetAlertCycle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B28
// RVA : 0x00540B28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_SetAlertCycle::GetType(idAction_SetAlertCycle *this)
{
  return &idAction_SetAlertCycle::Type;
}


// ========================================================================
// ?GetType@idAction_ClearAimFocus@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B38
// RVA : 0x00540B38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_ClearAimFocus::GetType(idAction_ClearAimFocus *this)
{
  return &idAction_ClearAimFocus::Type;
}


// ========================================================================
// ?GetType@idAction_SetPosture@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B48
// RVA : 0x00540B48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_SetPosture::GetType(idAction_SetPosture *this)
{
  return &idAction_SetPosture::Type;
}


// ========================================================================
// ?GetType@idAction_SetIdleState@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B58
// RVA : 0x00540B58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_SetIdleState::GetType(idAction_SetIdleState *this)
{
  return &idAction_SetIdleState::Type;
}


// ========================================================================
// ?GetType@idAction_SetEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B68
// RVA : 0x00540B68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_SetEnemy::GetType(idAction_SetEnemy *this)
{
  return &idAction_SetEnemy::Type;
}


// ========================================================================
// ?GetType@idAction_Trigger@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B78
// RVA : 0x00540B78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_Trigger::GetType(idAction_Trigger *this)
{
  return &idAction_Trigger::Type;
}


// ========================================================================
// ?GetType@idAction_EnableBodyRotation@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B88
// RVA : 0x00540B88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_EnableBodyRotation::GetType(idAction_EnableBodyRotation *this)
{
  return &idAction_EnableBodyRotation::Type;
}


// ========================================================================
// ?GetType@idAction_ForceAwarenessByDistance@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540B98
// RVA : 0x00540B98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_ForceAwarenessByDistance::GetType(idAction_ForceAwarenessByDistance *this)
{
  return &idAction_ForceAwarenessByDistance::Type;
}


// ========================================================================
// ?GetType@idAction_TakeItem@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BA8
// RVA : 0x00540BA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_TakeItem::GetType(idAction_TakeItem *this)
{
  return &idAction_TakeItem::Type;
}


// ========================================================================
// ?GetType@idAction_DropAttachment@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BB8
// RVA : 0x00540BB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_DropAttachment::GetType(idAction_DropAttachment *this)
{
  return &idAction_DropAttachment::Type;
}


// ========================================================================
// ?GetType@idAction_ClearPerceptionFlag@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BC8
// RVA : 0x00540BC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_ClearPerceptionFlag::GetType(idAction_ClearPerceptionFlag *this)
{
  return &idAction_ClearPerceptionFlag::Type;
}


// ========================================================================
// ?GetType@idAction_ScriptedAnimWeb@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BD8
// RVA : 0x00540BD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAction_ScriptedAnimWeb::GetType(idAction_ScriptedAnimWeb *this)
{
  return &idAction_ScriptedAnimWeb::Type;
}


// ========================================================================
// ?GetType@idLegsFSM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BE8
// RVA : 0x00540BE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idLegsFSM::GetType(idLegsFSM *this)
{
  return &idLegsFSM::Type;
}


// ========================================================================
// ?GetType@idAITest_Rotation@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540BF8
// RVA : 0x00540BF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idAITest_Rotation::GetType(idAITest_Rotation *this)
{
  return &idAITest_Rotation::Type;
}


// ========================================================================
// ?GetType@idTowerTurret@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C08
// RVA : 0x00540C08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTowerTurret::GetType(idTowerTurret *this)
{
  return &idTowerTurret::Type;
}


// ========================================================================
// ?GetType@idTarget_ModifyTraversalClass@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C18
// RVA : 0x00540C18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_ModifyTraversalClass::GetType(idTarget_ModifyTraversalClass *this)
{
  return &idTarget_ModifyTraversalClass::Type;
}


// ========================================================================
// ?GetType@idTarget_Show@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C28
// RVA : 0x00540C28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_Show::GetType(idTarget_Show *this)
{
  return &idTarget_Show::Type;
}


// ========================================================================
// ?GetType@idTarget_JobTimerStart@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C38
// RVA : 0x00540C38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_JobTimerStart::GetType(idTarget_JobTimerStart *this)
{
  return &idTarget_JobTimerStart::Type;
}


// ========================================================================
// ?GetType@idTarget_GiveSpecialEvent@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C48
// RVA : 0x00540C48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_GiveSpecialEvent::GetType(idTarget_GiveSpecialEvent *this)
{
  return &idTarget_GiveSpecialEvent::Type;
}


// ========================================================================
// ?GetType@idTarget_GameStateIntSet@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C58
// RVA : 0x00540C58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_GameStateIntSet::GetType(idTarget_GameStateIntSet *this)
{
  return &idTarget_GameStateIntSet::Type;
}


// ========================================================================
// ?GetType@idTarget_FirstThinkActivate@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C68
// RVA : 0x00540C68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_FirstThinkActivate::GetType(idTarget_FirstThinkActivate *this)
{
  return &idTarget_FirstThinkActivate::Type;
}


// ========================================================================
// ?GetType@idTarget_LayerChange2@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C78
// RVA : 0x00540C78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_LayerChange2::GetType(idTarget_LayerChange2 *this)
{
  return &idTarget_LayerChange2::Type;
}


// ========================================================================
// ?GetType@idTarget_LevelTransition@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C88
// RVA : 0x00540C88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_LevelTransition::GetType(idTarget_LevelTransition *this)
{
  return &idTarget_LevelTransition::Type;
}


// ========================================================================
// ?GetType@idTarget_Path@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540C98
// RVA : 0x00540C98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_Path::GetType(idTarget_Path *this)
{
  return &idTarget_Path::Type;
}


// ========================================================================
// ?GetType@idTarget_Damage@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CA8
// RVA : 0x00540CA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_Damage::GetType(idTarget_Damage *this)
{
  return &idTarget_Damage::Type;
}


// ========================================================================
// ?GetType@idTarget_EnableGroup@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CB8
// RVA : 0x00540CB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_EnableGroup::GetType(idTarget_EnableGroup *this)
{
  return &idTarget_EnableGroup::Type;
}


// ========================================================================
// ?GetType@idTarget_AICommand@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CC8
// RVA : 0x00540CC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_AICommand::GetType(idTarget_AICommand *this)
{
  return &idTarget_AICommand::Type;
}


// ========================================================================
// ?GetType@idTarget_ActionScript@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CD8
// RVA : 0x00540CD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_ActionScript::GetType(idTarget_ActionScript *this)
{
  return &idTarget_ActionScript::Type;
}


// ========================================================================
// ?GetType@idTarget_PlayAnim@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CE8
// RVA : 0x00540CE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_PlayAnim::GetType(idTarget_PlayAnim *this)
{
  return &idTarget_PlayAnim::Type;
}


// ========================================================================
// ?GetType@idTarget_ApplyImpulse@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540CF8
// RVA : 0x00540CF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_ApplyImpulse::GetType(idTarget_ApplyImpulse *this)
{
  return &idTarget_ApplyImpulse::Type;
}


// ========================================================================
// ?GetType@idTarget_AssignVehicle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540D08
// RVA : 0x00540D08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_AssignVehicle::GetType(idTarget_AssignVehicle *this)
{
  return &idTarget_AssignVehicle::Type;
}


// ========================================================================
// ?GetType@idTarget_TestPlayerState@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540D18
// RVA : 0x00540D18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_TestPlayerState::GetType(idTarget_TestPlayerState *this)
{
  return &idTarget_TestPlayerState::Type;
}


// ========================================================================
// ?GetType@idTarget_StartSoundShader@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540D28
// RVA : 0x00540D28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_StartSoundShader::GetType(idTarget_StartSoundShader *this)
{
  return &idTarget_StartSoundShader::Type;
}


// ========================================================================
// ?GetType@idTarget_EnableBlink@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540D38
// RVA : 0x00540D38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_EnableBlink::GetType(idTarget_EnableBlink *this)
{
  return &idTarget_EnableBlink::Type;
}


// ========================================================================
// ?GetType@idTarget_Door@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540D48
// RVA : 0x00540D48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_Door::GetType(idTarget_Door *this)
{
  return &idTarget_Door::Type;
}


// ========================================================================
// ?CallEvent@idTarget_Path@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82540D58
// RVA : 0x00540D58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idWaypoint *__fastcall idTarget_Path::CallEvent(
        idWaypoint *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idWaypoint *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idEntity::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?GetType@idTarget_ShakeTrigger@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540DD8
// RVA : 0x00540DD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_ShakeTrigger::GetType(idTarget_ShakeTrigger *this)
{
  return &idTarget_ShakeTrigger::Type;
}


// ========================================================================
// ?GetType@idTarget_CoopGiveScore@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540DE8
// RVA : 0x00540DE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_CoopGiveScore::GetType(idTarget_CoopGiveScore *this)
{
  return &idTarget_CoopGiveScore::Type;
}


// ========================================================================
// ?GetType@idTarget_SwapFaction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540DF8
// RVA : 0x00540DF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_SwapFaction::GetType(idTarget_SwapFaction *this)
{
  return &idTarget_SwapFaction::Type;
}


// ========================================================================
// ?GetType@idTarget_DummyFire@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E08
// RVA : 0x00540E08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_DummyFire::GetType(idTarget_DummyFire *this)
{
  return &idTarget_DummyFire::Type;
}


// ========================================================================
// ?GetType@idTarget_HideShowHands@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E18
// RVA : 0x00540E18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_HideShowHands::GetType(idTarget_HideShowHands *this)
{
  return &idTarget_HideShowHands::Type;
}


// ========================================================================
// ?GetType@idTarget_PlayerOverrideFocus@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E28
// RVA : 0x00540E28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_PlayerOverrideFocus::GetType(idTarget_PlayerOverrideFocus *this)
{
  return &idTarget_PlayerOverrideFocus::Type;
}


// ========================================================================
// ?GetType@idTarget_AttachItem@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E38
// RVA : 0x00540E38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_AttachItem::GetType(idTarget_AttachItem *this)
{
  return &idTarget_AttachItem::Type;
}


// ========================================================================
// ?GetType@idTarget_ToggleTraversal@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E48
// RVA : 0x00540E48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_ToggleTraversal::GetType(idTarget_ToggleTraversal *this)
{
  return &idTarget_ToggleTraversal::Type;
}


// ========================================================================
// ?GetType@idTarget_SetHudElement@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E58
// RVA : 0x00540E58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_SetHudElement::GetType(idTarget_SetHudElement *this)
{
  return &idTarget_SetHudElement::Type;
}


// ========================================================================
// ?GetType@idTarget_TestActivation@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540E68
// RVA : 0x00540E68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_TestActivation::GetType(idTarget_TestActivation *this)
{
  return &idTarget_TestActivation::Type;
}


// ========================================================================
// ?CallEvent@idTarget_TestScreenCompare@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82540E78
// RVA : 0x00540E78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestShotsFired *__fastcall idTarget_TestScreenCompare::CallEvent(
        idTarget_TestShotsFired *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idTarget_TestShotsFired *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idTarget_Test::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?GetType@idTarget_TestCommand@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540EF8
// RVA : 0x00540EF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_TestCommand::GetType(idTarget_TestCommand *this)
{
  return &idTarget_TestCommand::Type;
}


// ========================================================================
// ?GetType@idTarget_TestOverrideStatus@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540F08
// RVA : 0x00540F08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idTarget_TestOverrideStatus::GetType(idTarget_TestOverrideStatus *this)
{
  return &idTarget_TestOverrideStatus::Type;
}


// ========================================================================
// ?RespondsTo@idTarget_TestShotsFired@@UBA_NABVidEventDef@@@Z
// EA  : 0x82540F18
// RVA : 0x00540F18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idTarget_TestShotsFired::RespondsTo(idTarget_TestShotsFired *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idTarget_TestShotsFired *))this->InternalRespondsTo)(a1: this) != 0
      || idTarget_Test::RespondsTo((idTarget_Timer *)this, event);
}


// ========================================================================
// ?GetType@idDrone@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540F80
// RVA : 0x00540F80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idDrone::GetType(idDrone *this)
{
  return &idDrone::Type;
}


// ========================================================================
// ?GetType@idVehicleFSM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540F90
// RVA : 0x00540F90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVehicleFSM::GetType(idVehicleFSM *this)
{
  return &idVehicleFSM::Type;
}


// ========================================================================
// ?GetType@idVS_Wait@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FA0
// RVA : 0x00540FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_Wait::GetType(idVS_Wait *this)
{
  return &idVS_Wait::Type;
}


// ========================================================================
// ?GetType@idVS_ds_Barricade@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FB0
// RVA : 0x00540FB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_ds_Barricade::GetType(idVS_ds_Barricade *this)
{
  return &idVS_ds_Barricade::Type;
}


// ========================================================================
// ?GetType@idVS_ms_Backup@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FC0
// RVA : 0x00540FC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_ms_Backup::GetType(idVS_ms_Backup *this)
{
  return &idVS_ms_Backup::Type;
}


// ========================================================================
// ?GetType@idVS_as_RAM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FD0
// RVA : 0x00540FD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_as_RAM::GetType(idVS_as_RAM *this)
{
  return &idVS_as_RAM::Type;
}


// ========================================================================
// ?GetType@idVS_as_ChaseShoot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FE0
// RVA : 0x00540FE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_as_ChaseShoot::GetType(idVS_as_ChaseShoot *this)
{
  return &idVS_as_ChaseShoot::Type;
}


// ========================================================================
// ?GetType@idVS_as_PowerTurnShoot@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82540FF0
// RVA : 0x00540FF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_as_PowerTurnShoot::GetType(idVS_as_PowerTurnShoot *this)
{
  return &idVS_as_PowerTurnShoot::Type;
}


// ========================================================================
// ?GetType@idVS_as_FireWeapon@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541000
// RVA : 0x00541000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_as_FireWeapon::GetType(idVS_as_FireWeapon *this)
{
  return &idVS_as_FireWeapon::Type;
}


// ========================================================================
// ?GetType@idVS_ds_Car_Chase@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541010
// RVA : 0x00541010
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_ds_Car_Chase::GetType(idVS_ds_Car_Chase *this)
{
  return &idVS_ds_Car_Chase::Type;
}


// ========================================================================
// ?GetType@idVS_cs_WaitForTrigger@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541020
// RVA : 0x00541020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_cs_WaitForTrigger::GetType(idVS_cs_WaitForTrigger *this)
{
  return &idVS_cs_WaitForTrigger::Type;
}


// ========================================================================
// ?GetType@idVS_cs_WaitForVoiceOver@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541030
// RVA : 0x00541030
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_cs_WaitForVoiceOver::GetType(idVS_cs_WaitForVoiceOver *this)
{
  return &idVS_cs_WaitForVoiceOver::Type;
}


// ========================================================================
// ?GetType@idVS_CS_WaitForPlayer@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541040
// RVA : 0x00541040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_CS_WaitForPlayer::GetType(idVS_CS_WaitForPlayer *this)
{
  return &idVS_CS_WaitForPlayer::Type;
}


// ========================================================================
// ?GetType@idVS_cs_EnterVehicle@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541050
// RVA : 0x00541050
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idVS_cs_EnterVehicle::GetType(idVS_cs_EnterVehicle *this)
{
  return &idVS_cs_EnterVehicle::Type;
}


// ========================================================================
// ?GetType@idLerpKey@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541060
// RVA : 0x00541060
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idLerpKey::GetType(idLerpKey *this)
{
  return &idLerpKey::Type;
}


// ========================================================================
// ?GetType@idBotGoalManager_TDM@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541070
// RVA : 0x00541070
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotGoalManager_TDM::GetType(idBotGoalManager_TDM *this)
{
  return &idBotGoalManager_TDM::Type;
}


// ========================================================================
// ?GetType@idGameChallenge_DM_FFA@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541080
// RVA : 0x00541080
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idGameChallenge_DM_FFA::GetType(idGameChallenge_DM_FFA *this)
{
  return &idGameChallenge_DM_FFA::Type;
}


// ========================================================================
// ?CallEvent@idGameChallenge_DM_TDM@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82541090
// RVA : 0x00541090
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idGameChallenge_DM_TDM *__fastcall idGameChallenge_DM_TDM::CallEvent(
        idGameChallenge_DM_TDM *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idGameChallenge_DM_TDM *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idGameChallenge_DM::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?GetType@idBehaviorAction@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541110
// RVA : 0x00541110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBehaviorAction::GetType(idBehaviorAction *this)
{
  return &idBehaviorAction::Type;
}


// ========================================================================
// ?GetType@idBehaviorSelectorLooping@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541120
// RVA : 0x00541120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBehaviorSelectorLooping::GetType(idBehaviorSelectorLooping *this)
{
  return &idBehaviorSelectorLooping::Type;
}


// ========================================================================
// ?GetType@idBehaviorSequence@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541130
// RVA : 0x00541130
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBehaviorSequence::GetType(idBehaviorSequence *this)
{
  return &idBehaviorSequence::Type;
}


// ========================================================================
// ?GetType@idBehaviorTemp@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541140
// RVA : 0x00541140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBehaviorTemp::GetType(idBehaviorTemp *this)
{
  return &idBehaviorTemp::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorDead@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541150
// RVA : 0x00541150
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorDead::GetType(idBotBehaviorDead *this)
{
  return &idBotBehaviorDead::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorAlert@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541160
// RVA : 0x00541160
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorAlert::GetType(idBotBehaviorAlert *this)
{
  return &idBotBehaviorAlert::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorCombat_TargetVis_CloseRange@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541170
// RVA : 0x00541170
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorCombat_TargetVis_CloseRange::GetType(
        idBotBehaviorCombat_TargetVis_CloseRange *this)
{
  return &idBotBehaviorCombat_TargetVis_CloseRange::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorCombat_TargetVis_CloseRange_Thrown@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541180
// RVA : 0x00541180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorCombat_TargetVis_CloseRange_Thrown::GetType(
        idBotBehaviorCombat_TargetVis_CloseRange_Thrown *this)
{
  return &idBotBehaviorCombat_TargetVis_CloseRange_Thrown::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorEscort@@UBAPAVidTypeInfo@@XZ
// EA  : 0x82541190
// RVA : 0x00541190
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorEscort::GetType(idBotBehaviorEscort *this)
{
  return &idBotBehaviorEscort::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorCombat_SideStrafeEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825411A0
// RVA : 0x005411A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorCombat_SideStrafeEnemy::GetType(idBotBehaviorCombat_SideStrafeEnemy *this)
{
  return &idBotBehaviorCombat_SideStrafeEnemy::Type;
}


// ========================================================================
// ?GetType@idBotBehaviorCombat_RandomJumpAttackEnemy@@UBAPAVidTypeInfo@@XZ
// EA  : 0x825411B0
// RVA : 0x005411B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTypeInfo *__fastcall idBotBehaviorCombat_RandomJumpAttackEnemy::GetType(
        idBotBehaviorCombat_RandomJumpAttackEnemy *this)
{
  return &idBotBehaviorCombat_RandomJumpAttackEnemy::Type;
}


// ========================================================================
// ?CreateInstance@idEventReceiver@@SAPAVidClass@@XZ
// EA  : 0x825415F0
// RVA : 0x005415F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEventReceiver *__fastcall idEventReceiver::CreateInstance()
{
  idEventReceiver *v0; // r3

  v0 = (idEventReceiver *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0xCu,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idEventReceiver::idEventReceiver(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$524749
// EA  : 0x82541658
// RVA : 0x00541658
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_524749(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idEventReceiver@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82541680
// RVA : 0x00541680
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEventReceiver *__fastcall idEventReceiver::CallEvent(
        idEventReceiver *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  idEventReceiver v9[4]; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idEventReceiver *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 0 )
      idEventReceiver::Event_Remove(this: v9, result);
    this->listenerList = nullptr;
    HIBYTE(this->__vftable) = 0;
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idEventReceiver@@UBA_NABVidEventDef@@@Z
// EA  : 0x82541720
// RVA : 0x00541720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idEventReceiver::RespondsTo(idEventReceiver *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idEventReceiver *))this->InternalRespondsTo)(a1: this) != 0
      || (_cntlzw(event->eventnum) & 0x20) != 0;
}


// ========================================================================
// ?CreateInstance@idEvent@@SAPAVidClass@@XZ
// EA  : 0x82541790
// RVA : 0x00541790
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEvent *__fastcall idEvent::CreateInstance()
{
  idEvent *v0; // r3

  v0 = (idEvent *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0xC4u,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idEvent::idEvent(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$524871
// EA  : 0x825417F8
// RVA : 0x005417F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_524871(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAnimatedEntity@@SAPAVidClass@@XZ
// EA  : 0x82541828
// RVA : 0x00541828
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedEntity *__fastcall idAnimatedEntity::CreateInstance()
{
  idAnimatedEntity *v0; // r3

  v0 = (idAnimatedEntity *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x1450u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAnimatedEntity::idAnimatedEntity(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$524960
// EA  : 0x82541890
// RVA : 0x00541890
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_524960(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAnimatedEntity@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825418B8
// RVA : 0x005418B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedEntity *__fastcall idAnimatedEntity::CastTo(idAnimatedEntity *c)
{
  idAnimatedEntity *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAnimatedEntity::Type.typeNum || (v4 = v2 <= idAnimatedEntity::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idAnimatedEntity@@SA_NPBVidClass@@@Z
// EA  : 0x82541950
// RVA : 0x00541950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idAnimatedEntity::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idAnimatedEntity::Type.typeNum || (v3 = v1 <= idAnimatedEntity::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?RespondsTo@idAnimatedEntity@@UBA_NABVidEventDef@@@Z
// EA  : 0x825419C8
// RVA : 0x005419C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAnimatedEntity::RespondsTo(idAnimatedEntity *this, const idEventDef *event)
{
  int eventnum; // r11

  if ( ((unsigned __int8 (__fastcall *)(idAnimatedEntity *))this->InternalRespondsTo)(a1: this) != 0 )
    return true;
  eventnum = event->eventnum;
  if ( eventnum > 64 )
  {
    if ( eventnum < 277 || eventnum > 301 )
      return idEntity::RespondsTo(this, event);
    return true;
  }
  if ( eventnum == 64 || eventnum >= 11 && (eventnum <= 19 || eventnum == 57) )
    return true;
  return idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idSound@@SAPAVidClass@@XZ
// EA  : 0x82541A70
// RVA : 0x00541A70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSound *__fastcall idSound::CreateInstance()
{
  idSound *v0; // r3

  v0 = (idSound *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x3F8u,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idSound::idSound(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525060
// EA  : 0x82541AD8
// RVA : 0x00541AD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525060(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idSound@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82541B00
// RVA : 0x00541B00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSound *__fastcall idSound::CastTo(idSound *c)
{
  idSound *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idSound::Type.typeNum || (v4 = v2 <= idSound::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idSound@@SA_NPBVidClass@@@Z
// EA  : 0x82541B98
// RVA : 0x00541B98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idSound::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idSound::Type.typeNum || (v3 = v1 <= idSound::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idSound@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82541C10
// RVA : 0x00541C10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSound *__fastcall idSound::CallEvent(idSound *this, eventVoid *result, const idEventDef *event, idAICover *args)
{
  int eventnum; // r11
  unsigned int v10; // r11
  BOOL value; // r8
  char v12; // [sp+50h] [-40h] BYREF
  char v13; // [sp+51h] [-3Fh] BYREF
  char v14; // [sp+52h] [-3Eh] BYREF
  char v15; // [sp+53h] [-3Dh] BYREF
  char v16; // [sp+54h] [-3Ch] BYREF
  char v17; // [sp+55h] [-3Bh] BYREF
  char v18; // [sp+56h] [-3Ah] BYREF
  char v19; // [sp+58h] [-38h] BYREF
  char v20; // [sp+5Ch] [-34h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idSound *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum <= 618 )
  {
    if ( eventnum == 618 )
    {
      idSound::Event_SetSoundShader(
        this: (idSound *)&v14,
        result,
        newShader: (const idSoundShader *)args->spawnId.value);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      return this;
    }
    if ( eventnum > 489 )
    {
      if ( eventnum == 490 )
      {
        idSound::Event_Off(this: (idSound *)&v13, result);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      }
    }
    else
    {
      switch ( eventnum )
      {
        case 489:
          idSound::Event_On(this: (idSound *)&v12, result);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          return this;
        case 109:
          *(float *)&this->listenerList = idSound::Event_StartSoundShader(
                                            this: (idSound *)&v20,
                                            (eventFloat *)result,
                                            shader: (const idSoundShader *)args->spawnId.value,
                                            channel: (int)args[2].aas)->value;
          HIBYTE(this->__vftable) = 102;
          return this;
        case 113:
          *(float *)&this->listenerList = idSound::Event_PlayVoiceOver(
                                            this: (idSound *)&v19,
                                            (eventFloat *)result,
                                            voToPlay: (const idDeclVoiceOver *)args->spawnId.value,
                                            channel: (soundChannel_t)args[2].aas,
                                            talkerID: *(const char **)&args[3].coverIndex)->value;
          HIBYTE(this->__vftable) = 102;
          return this;
        default:
          break;
      }
    }
    goto LABEL_24;
  }
  v10 = eventnum - 619;
  if ( v10 > 3 )
  {
LABEL_24:
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
  if ( v10 == 1 )
  {
    idSound::Event_SetNonLooping(this: (idSound *)&v16, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else if ( v10 == 2 )
  {
    idSound::Event_TimerEvent(this: (idSound *)&v17, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    if ( v10 != 0 )
    {
      value = idSound::Event_IsPlayingSound(this: (idTarget_MultiSound *)&v18, (eventBool *)result)->value;
      HIBYTE(this->__vftable) = 105;
      this->listenerList = (idList<idEventReceiver *,5> *)value;
    }
    else
    {
      idSound::Event_SetLooping(this: (idSound *)&v15, result);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idSound@@UBA_NABVidEventDef@@@Z
// EA  : 0x82541E68
// RVA : 0x00541E68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idSound::RespondsTo(idSound *this, const idEventDef *event)
{
  int eventnum; // r11

  if ( ((unsigned __int8 (__fastcall *)(idSound *))this->InternalRespondsTo)(a1: this) != 0 )
    return true;
  eventnum = event->eventnum;
  if ( eventnum > 490 )
  {
    if ( eventnum < 618 || eventnum > 622 )
      return idEntity::RespondsTo(this, event);
    return true;
  }
  if ( eventnum >= 489 || eventnum == 109 || eventnum == 113 )
    return true;
  return idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idEntityEmitter@@SAPAVidClass@@XZ
// EA  : 0x82541F10
// RVA : 0x00541F10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntityEmitter *__fastcall idEntityEmitter::CreateInstance()
{
  idEntityEmitter *v0; // r3

  v0 = (idEntityEmitter *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x378u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idEntityEmitter::idEntityEmitter(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525338
// EA  : 0x82541F78
// RVA : 0x00541F78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525338(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idHealthItem@@SAPAVidClass@@XZ
// EA  : 0x82541FA8
// RVA : 0x00541FA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idHealthItem *__fastcall idHealthItem::CreateInstance()
{
  idHealthItem *v0; // r3

  v0 = (idHealthItem *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x28u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idHealthItem::idHealthItem(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525427
// EA  : 0x82542010
// RVA : 0x00542010
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525427(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idThrowableItem@@SAPAVidClass@@XZ
// EA  : 0x82542040
// RVA : 0x00542040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idThrowableItem *__fastcall idThrowableItem::CreateInstance()
{
  idThrowableItem *v0; // r3

  v0 = (idThrowableItem *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x328u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idThrowableItem::idThrowableItem(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525516
// EA  : 0x825420A8
// RVA : 0x005420A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525516(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idThrowableItem@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825420D0
// RVA : 0x005420D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idThrowableItem *__fastcall idThrowableItem::CastTo(idThrowableItem *c)
{
  idThrowableItem *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idThrowableItem::Type.typeNum || (v4 = v2 <= idThrowableItem::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idThrowableItem@@SA_NPBVidClass@@@Z
// EA  : 0x82542168
// RVA : 0x00542168
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idThrowableItem::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idThrowableItem::Type.typeNum || (v3 = v1 <= idThrowableItem::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idVehicleUpgrade@@SAPAVidClass@@XZ
// EA  : 0x825421E8
// RVA : 0x005421E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleUpgrade *__fastcall idVehicleUpgrade::CreateInstance()
{
  idVehicleUpgrade *v0; // r3

  v0 = (idVehicleUpgrade *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x30u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicleUpgrade::idVehicleUpgrade(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525605
// EA  : 0x82542250
// RVA : 0x00542250
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525605(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicleUpgrade@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82542278
// RVA : 0x00542278
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleUpgrade *__fastcall idVehicleUpgrade::CastTo(idVehicleUpgrade *c)
{
  idVehicleUpgrade *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicleUpgrade::Type.typeNum || (v4 = v2 <= idVehicleUpgrade::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idSecretItem@@SAPAVidClass@@XZ
// EA  : 0x82542318
// RVA : 0x00542318
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSecretItem *__fastcall idSecretItem::CreateInstance()
{
  idSecretItem *v0; // r3

  v0 = (idSecretItem *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x30u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idSecretItem::idSecretItem(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525694
// EA  : 0x82542380
// RVA : 0x00542380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525694(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idSecretItem@@SAPBV1@PBVidClass@@@Z
// EA  : 0x825423A8
// RVA : 0x005423A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSecretItem *__fastcall idSecretItem::CastTo(idSecretItem *c)
{
  idSecretItem *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idSecretItem::Type.typeNum || (v4 = v2 <= idSecretItem::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVehicle_Shockwave@@SAPAVidClass@@XZ
// EA  : 0x82542448
// RVA : 0x00542448
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Shockwave *__fastcall idVehicle_Shockwave::CreateInstance()
{
  idVehicle_Shockwave *v0; // r3

  v0 = (idVehicle_Shockwave *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x40u,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicle_Shockwave::idVehicle_Shockwave(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525783
// EA  : 0x825424B0
// RVA : 0x005424B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525783(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicle_Shockwave@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825424D8
// RVA : 0x005424D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Shockwave *__fastcall idVehicle_Shockwave::CastTo(idVehicle_Shockwave *c)
{
  idVehicle_Shockwave *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicle_Shockwave::Type.typeNum || (v4 = v2 <= idVehicle_Shockwave::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVehicle_Teleporter@@SAPAVidClass@@XZ
// EA  : 0x82542578
// RVA : 0x00542578
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Teleporter *__fastcall idVehicle_Teleporter::CreateInstance()
{
  idVehicle_Teleporter *v0; // r3

  v0 = (idVehicle_Teleporter *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x88u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicle_Teleporter::idVehicle_Teleporter(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525872
// EA  : 0x825425E0
// RVA : 0x005425E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525872(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicle_Teleporter@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82542608
// RVA : 0x00542608
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Teleporter *__fastcall idVehicle_Teleporter::CastTo(idVehicle_Teleporter *c)
{
  idVehicle_Teleporter *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicle_Teleporter::Type.typeNum || (v4 = v2 <= idVehicle_Teleporter::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVehicle_Stomp@@SAPAVidClass@@XZ
// EA  : 0x825426A8
// RVA : 0x005426A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Stomp *__fastcall idVehicle_Stomp::CreateInstance()
{
  idVehicle_Stomp *v0; // r3

  v0 = (idVehicle_Stomp *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x40u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicle_Stomp::idVehicle_Stomp(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$525961
// EA  : 0x82542710
// RVA : 0x00542710
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_525961(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicle_Stomp@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82542738
// RVA : 0x00542738
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicle_Stomp *__fastcall idVehicle_Stomp::CastTo(idVehicle_Stomp *c)
{
  idVehicle_Stomp *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicle_Stomp::Type.typeNum || (v4 = v2 <= idVehicle_Stomp::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idThrowableFilter@@SAPAVidClass@@XZ
// EA  : 0x825427D8
// RVA : 0x005427D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idThrowableFilter *__fastcall idThrowableFilter::CreateInstance()
{
  idThrowableFilter *v0; // r3

  v0 = (idThrowableFilter *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0xCu,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idThrowableFilter::idThrowableFilter(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526050
// EA  : 0x82542840
// RVA : 0x00542840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526050(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAmmoSelector@@SAPAVidClass@@XZ
// EA  : 0x82542870
// RVA : 0x00542870
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAmmoSelector *__fastcall idAmmoSelector::CreateInstance()
{
  idAmmoSelector *v0; // r3

  v0 = (idAmmoSelector *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x20u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAmmoSelector::idAmmoSelector(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526139
// EA  : 0x825428D8
// RVA : 0x005428D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526139(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAmmoSelector@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82542900
// RVA : 0x00542900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAmmoSelector *__fastcall idAmmoSelector::CastTo(idAmmoSelector *c)
{
  idAmmoSelector *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAmmoSelector::Type.typeNum || (v4 = v2 <= idAmmoSelector::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idAmmoSelector_ClubMutant@@SAPAVidClass@@XZ
// EA  : 0x825429A0
// RVA : 0x005429A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAmmoSelector_ClubMutant *__fastcall idAmmoSelector_ClubMutant::CreateInstance()
{
  idAmmoSelector_ClubMutant *v0; // r3

  v0 = (idAmmoSelector_ClubMutant *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x20u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAmmoSelector_ClubMutant::idAmmoSelector_ClubMutant(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526228
// EA  : 0x82542A08
// RVA : 0x00542A08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526228(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idActorModifierManager@@SAPAVidClass@@XZ
// EA  : 0x82542A38
// RVA : 0x00542A38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idActorModifierManager *__fastcall idActorModifierManager::CreateInstance()
{
  idActorModifierManager *v0; // r3

  v0 = (idActorModifierManager *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x37FCu,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idActorModifierManager::idActorModifierManager(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526317
// EA  : 0x82542AA0
// RVA : 0x00542AA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526317(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idActorModifierManager@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82542AC8
// RVA : 0x00542AC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idActorModifierManager *__fastcall idActorModifierManager::CallEvent(
        idActorModifierManager *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  char v9; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idActorModifierManager *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 9 )
    {
      idActorModifierManager::Notice_ModifierEvent(
        this: (idActorModifierManager *)&v9,
        result,
        modifier: (idActorModifier *)args->value.i,
        activating: args[1].value.i != 0,
        predicted: args[2].value.i != 0);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idEventReceiver::CallEvent(this: &this->idEventReceiver, result, event, args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idActorModifierManager@@UBA_NABVidEventDef@@@Z
// EA  : 0x82542BA0
// RVA : 0x00542BA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idActorModifierManager::RespondsTo(idActorModifierManager *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idActorModifierManager *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 9
      || idEventReceiver::RespondsTo(this: &this->idEventReceiver, event);
}


// ========================================================================
// ?CreateInstance@idLayer@@SAPAVidClass@@XZ
// EA  : 0x82542C10
// RVA : 0x00542C10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idLayer::CreateInstance()
{
  idClass *result; // r3

  result = (idClass *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x28u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( result == nullptr )
    return nullptr;
  result->__vftable = (idClass_vtbl *)&idLayer::`vftable';
  result[1].__vftable = nullptr;
  result[3].__vftable = (idClass_vtbl *)20;
  result[2].__vftable = (idClass_vtbl *)&result[4];
  HIBYTE(result[4].__vftable) = 0;
  result[9].__vftable = (idClass_vtbl *)1;
  return result;
}


// ========================================================================
// ?CreateInstance@idSpecialEvent@@SAPAVidClass@@XZ
// EA  : 0x82542CA8
// RVA : 0x00542CA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idSpecialEvent::CreateInstance()
{
  idClass *result; // r3

  result = (idClass *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 8u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( result == nullptr )
    return nullptr;
  result[1].__vftable = nullptr;
  result->__vftable = (idClass_vtbl *)&idSpecialEvent::`vftable';
  return result;
}


// ========================================================================
// ?CreateInstance@idAIPlayerInteractionMemory@@SAPAVidClass@@XZ
// EA  : 0x82542D28
// RVA : 0x00542D28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIPlayerInteractionMemory *__fastcall idAIPlayerInteractionMemory::CreateInstance()
{
  idAIPlayerInteractionMemory *v0; // r3

  v0 = (idAIPlayerInteractionMemory *)idMem::AllocWithLocation(
                                        this: &mem,
                                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                        size: 0x44u,
                                        tag: TAG_NEW,
                                        zeroBuffer: false,
                                        align: ALIGN_16,
                                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIPlayerInteractionMemory::idAIPlayerInteractionMemory(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526655
// EA  : 0x82542D90
// RVA : 0x00542D90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526655(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idProjectile_Grenade@@SAPAVidClass@@XZ
// EA  : 0x82542DC0
// RVA : 0x00542DC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProjectile_Grenade *__fastcall idProjectile_Grenade::CreateInstance()
{
  idProjectile_Grenade *v0; // r3

  v0 = (idProjectile_Grenade *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x17F8u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProjectile_Grenade::idProjectile_Grenade(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526744
// EA  : 0x82542E28
// RVA : 0x00542E28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526744(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProjectile_Grenade@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82542E50
// RVA : 0x00542E50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProjectile_Grenade *__fastcall idProjectile_Grenade::CastTo(idProjectile_Grenade *c)
{
  idProjectile_Grenade *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProjectile_Grenade::Type.typeNum || (v4 = v2 <= idProjectile_Grenade::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idProjectile_Grenade@@SA_NPBVidClass@@@Z
// EA  : 0x82542EE8
// RVA : 0x00542EE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idProjectile_Grenade::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idProjectile_Grenade::Type.typeNum || (v3 = v1 <= idProjectile_Grenade::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idMultiplayerTrigger@@SAPAVidClass@@XZ
// EA  : 0x82542F68
// RVA : 0x00542F68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idMultiplayerTrigger *__fastcall idMultiplayerTrigger::CreateInstance()
{
  idMultiplayerTrigger *v0; // r3

  v0 = (idMultiplayerTrigger *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x380u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idMultiplayerTrigger::idMultiplayerTrigger(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526833
// EA  : 0x82542FD0
// RVA : 0x00542FD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526833(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idFaceMgr@@SAPAVidClass@@XZ
// EA  : 0x82543000
// RVA : 0x00543000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idFaceMgr *__fastcall idFaceMgr::CreateInstance()
{
  idFaceMgr *v0; // r3

  v0 = (idFaceMgr *)idMem::AllocWithLocation(
                      this: &mem,
                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                      size: 0x794u,
                      tag: TAG_NEW,
                      zeroBuffer: false,
                      align: ALIGN_16,
                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idFaceMgr::idFaceMgr(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$526922
// EA  : 0x82543068
// RVA : 0x00543068
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_526922(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAIEventSound@@SAPAVidClass@@XZ
// EA  : 0x82543098
// RVA : 0x00543098
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIEventSound *__fastcall idAIEventSound::CreateInstance()
{
  idAIEventSound *v0; // r3

  v0 = (idAIEventSound *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x34u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIEventSound::idAIEventSound(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527077
// EA  : 0x82543100
// RVA : 0x00543100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527077(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAIEventSound@@SAPBV1@PBVidClass@@@Z
// EA  : 0x82543128
// RVA : 0x00543128
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIEventSound *__fastcall idAIEventSound::CastTo(idAIEventSound *c)
{
  idAIEventSound *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAIEventSound::Type.typeNum || (v4 = v2 <= idAIEventSound::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idAIEventSound@@SA_NPBVidClass@@@Z
// EA  : 0x825431C0
// RVA : 0x005431C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idAIEventSound::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idAIEventSound::Type.typeNum || (v3 = v1 <= idAIEventSound::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idAIEvent_DelayedVO@@SAPAVidClass@@XZ
// EA  : 0x82543240
// RVA : 0x00543240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAIEvent_DelayedVO::CreateInstance()
{
  idAIEvent *v0; // r3
  _DWORD *v1; // r30

  v0 = (idAIEvent *)idMem::AllocWithLocation(
                      this: &mem,
                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                      size: 0x34u,
                      tag: TAG_NEW,
                      zeroBuffer: false,
                      align: ALIGN_16,
                      heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idAIEvent::idAIEvent(this: v0);
  *v1 = &idAIEvent_DelayedVO::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$527166
// EA  : 0x825432C4
// RVA : 0x005432C4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527166(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAIEvent_DelayedVO@@SAPBV1@PBVidClass@@@Z
// EA  : 0x825432F0
// RVA : 0x005432F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIEvent_DelayedVO *__fastcall idAIEvent_DelayedVO::CastTo(idAIEvent_DelayedVO *c)
{
  idAIEvent_DelayedVO *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAIEvent_DelayedVO::Type.typeNum || (v4 = v2 <= idAIEvent_DelayedVO::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idAIEventPool@@SAPAVidClass@@XZ
// EA  : 0x82543390
// RVA : 0x00543390
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIEventPool *__fastcall idAIEventPool::CreateInstance()
{
  idAIEventPool *v0; // r3

  v0 = (idAIEventPool *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x1Cu,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIEventPool::idAIEventPool(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527259
// EA  : 0x825433F8
// RVA : 0x005433F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527259(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVehicleCover@@SAPAVidClass@@XZ
// EA  : 0x82543428
// RVA : 0x00543428
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleCover *__fastcall idVehicleCover::CreateInstance()
{
  idVehicleCover *v0; // r3

  v0 = (idVehicleCover *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x1Cu,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicleCover::idVehicleCover(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527348
// EA  : 0x82543490
// RVA : 0x00543490
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527348(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAchievementManager@@SAPAVidClass@@XZ
// EA  : 0x825434C0
// RVA : 0x005434C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAchievementManager *__fastcall idAchievementManager::CreateInstance()
{
  idAchievementManager *v0; // r3

  v0 = (idAchievementManager *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x1F90u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAchievementManager::idAchievementManager(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527437
// EA  : 0x82543528
// RVA : 0x00543528
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527437(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idPlayerStart@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82543550
// RVA : 0x00543550
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idPlayerStart *__fastcall idPlayerStart::CastTo(idPlayerStart *c)
{
  idPlayerStart *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idPlayerStart::Type.typeNum || (v4 = v2 <= idPlayerStart::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idPlayerStart@@SA_NPBVidClass@@@Z
// EA  : 0x825435E8
// RVA : 0x005435E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idPlayerStart::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idPlayerStart::Type.typeNum || (v3 = v1 <= idPlayerStart::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idVehicleAI@@SAPAVidClass@@XZ
// EA  : 0x82543668
// RVA : 0x00543668
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleAI *__fastcall idVehicleAI::CreateInstance()
{
  idVehicleAI *v0; // r3

  v0 = (idVehicleAI *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x2538u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicleAI::idVehicleAI(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527592
// EA  : 0x825436D0
// RVA : 0x005436D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527592(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicleAI@@SAPBV1@PBVidClass@@@Z
// EA  : 0x825436F8
// RVA : 0x005436F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleAI *__fastcall idVehicleAI::CastTo(idVehicleAI *c)
{
  idVehicleAI *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicleAI::Type.typeNum || (v4 = v2 <= idVehicleAI::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idVehicleAI@@SA_NPBVidClass@@@Z
// EA  : 0x82543790
// RVA : 0x00543790
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idVehicleAI::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idVehicleAI::Type.typeNum || (v3 = v1 <= idVehicleAI::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idVehicleAI@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82543808
// RVA : 0x00543808
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleAI *__fastcall idVehicleAI::CallEvent(
        idVehicleAI *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idSplineWaypoint *Entity; // r3
  char v11; // [sp+50h] [-30h] BYREF
  char v12; // [sp+51h] [-2Fh] BYREF
  char v13; // [sp+52h] [-2Eh] BYREF
  char v14; // [sp+53h] [-2Dh] BYREF
  char v15; // [sp+54h] [-2Ch] BYREF
  char v16; // [sp+55h] [-2Bh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idVehicleAI *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum > 1075 )
  {
    if ( eventnum == 1076 )
    {
      Entity = (idSplineWaypoint *)idEventArg::GetEntity(this: args);
      idVehicleAI::Event_SetNewChaseWaypoint(this: (idVehicleAI *)&v16, result, newWayPoint: Entity);
      goto LABEL_17;
    }
    if ( eventnum == 1077 )
    {
      idVehicleAI::Event_Boost(this: (idVehicleAI *)&v15, result, ms: args->spawnId.value);
      goto LABEL_17;
    }
    goto LABEL_14;
  }
  switch ( eventnum )
  {
    case 1075:
      idVehicleAI::Event_AiExitVehicle(this: (idVehicleAI *)&v14, result);
      goto LABEL_17;
    case 569:
      idVehicleAI::Event_Respawn(this: (idVehicleAI *)&v13, result);
      goto LABEL_17;
    case 1073:
      idActor::Event_Gibbed(this: (idVehicleAI *)&v12, result);
      goto LABEL_17;
    default:
      break;
  }
  if ( eventnum != 1074 )
  {
LABEL_14:
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
  idVehicleAI::Event_AiStopControllingVehicle(this: (idVehicleAI *)&v11, result);
LABEL_17:
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idVehicleAI@@UBA_NABVidEventDef@@@Z
// EA  : 0x82543950
// RVA : 0x00543950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idVehicleAI::RespondsTo(idVehicleAI *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idVehicleAI *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) == 569
      || eventnum > 1072 && eventnum <= 1077
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idAFEntity_Generic@@SAPAVidClass@@XZ
// EA  : 0x825439D8
// RVA : 0x005439D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAFEntity_Generic *__fastcall idAFEntity_Generic::CreateInstance()
{
  idAFEntity_Generic *v0; // r3

  v0 = (idAFEntity_Generic *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x1AC0u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAFEntity_Generic::idAFEntity_Generic(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527756
// EA  : 0x82543A40
// RVA : 0x00543A40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527756(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAFEntity_Generic@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82543A68
// RVA : 0x00543A68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAFEntity_Generic *__fastcall idAFEntity_Generic::CastTo(idAFEntity_Generic *c)
{
  idAFEntity_Generic *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAFEntity_Generic::Type.typeNum || (v4 = v2 <= idAFEntity_Generic::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idAFEntity_Generic@@SA_NPBVidClass@@@Z
// EA  : 0x82543B00
// RVA : 0x00543B00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idAFEntity_Generic::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idAFEntity_Generic::Type.typeNum || (v3 = v1 <= idAFEntity_Generic::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idVehicleOccupant_ATV@@SAPAVidClass@@XZ
// EA  : 0x82543B80
// RVA : 0x00543B80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleOccupant_ATV *__fastcall idVehicleOccupant_ATV::CreateInstance()
{
  idVehicleOccupant_ATV *v0; // r3

  v0 = (idVehicleOccupant_ATV *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x2C90u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicleOccupant_ATV::idVehicleOccupant_ATV(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527851
// EA  : 0x82543BE8
// RVA : 0x00543BE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527851(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idSplinePathMM@@SAPAVidClass@@XZ
// EA  : 0x82543C18
// RVA : 0x00543C18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSplinePathMM *__fastcall idSplinePathMM::CreateInstance()
{
  idSplinePathMM *v0; // r3

  v0 = (idSplinePathMM *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x3F0u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idSplinePathMM::idSplinePathMM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$527940
// EA  : 0x82543C80
// RVA : 0x00543C80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_527940(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idSplinePathMM@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82543CA8
// RVA : 0x00543CA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSplinePathMM *__fastcall idSplinePathMM::CallEvent(
        idSplinePathMM *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idList<idEventReceiver *,5> *value; // r9
  eventEntity *SplineChild; // r3
  eventEntity *NextSplineChild; // r3
  eventEntity *ClosestSplineChild; // r3
  double v13; // fp13
  double v14; // fp12
  eventVector *PositionAlongPath; // r3
  eventVector *DirectionAlongPath; // r3
  char v17; // [sp+50h] [-80h] BYREF
  char v18; // [sp+54h] [-7Ch] BYREF
  char v19; // [sp+58h] [-78h] BYREF
  char v20; // [sp+5Ch] [-74h] BYREF
  char v21; // [sp+60h] [-70h] BYREF
  char v22; // [sp+64h] [-6Ch] BYREF
  char v23; // [sp+68h] [-68h] BYREF
  idVec3 v24; // [sp+70h] [-60h] BYREF
  char v25; // [sp+80h] [-50h] BYREF
  char v26; // [sp+90h] [-40h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idSplinePathMM *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( (unsigned int)(event->eventnum - 357) > 8 )
  {
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
  else
  {
    switch ( event->eventnum )
    {
      case 0x166:
        value = (idList<idEventReceiver *,5> *)idSplinePathMM::Event_GetNumSplineChildren(
                                                 this: (idSplinePathMM *)&v18,
                                                 (eventInt *)result)->value;
        HIBYTE(this->__vftable) = 105;
        this->listenerList = value;
        return this;
      case 0x167:
        SplineChild = idSplinePathMM::Event_GetSplineChild(
                        this: (idSplinePathMM *)&v19,
                        (eventEntity *)result,
                        index: args->spawnId.value);
        idEventArg::idEventArg((idEventArg *)this, data: SplineChild->value);
        return this;
      case 0x168:
        NextSplineChild = idSplinePathMM::Event_GetNextSplineChild(
                            this: (idSplinePathMM *)&v20,
                            (eventEntity *)result,
                            splineLength: *(float *)&args->spawnId.value);
        idEventArg::idEventArg((idEventArg *)this, data: NextSplineChild->value);
        return this;
      case 0x169:
        ClosestSplineChild = idSplinePathMM::Event_GetClosestSplineChild(
                               this: (idSplinePathMM *)&v21,
                               (eventEntity *)result,
                               splineLength: *(float *)&args->spawnId.value);
        idEventArg::idEventArg((idEventArg *)this, data: ClosestSplineChild->value);
        return this;
      case 0x16A:
        *(float *)&this->listenerList = idSplinePathMM::Event_GetSplineLength(
                                          this: (idSplinePathMM *)&v22,
                                          (eventFloat *)result)->value;
        HIBYTE(this->__vftable) = 102;
        return this;
      case 0x16B:
        v13 = *(float *)&args->coverIndex;
        v14 = *(float *)&args[1].aas;
        v24.x = *(float *)&args->spawnId.value;
        v24.y = v13;
        v24.z = v14;
        *(float *)&this->listenerList = idSplinePathMM::Event_GetDistanceAlongPath(
                                          this: (idSplinePathMM *)&v23,
                                          (eventFloat *)result,
                                          worldPos: &v24,
                                          lastDistance: *(float *)&args[2].aas,
                                          searchWidth: *(float *)&args[3].coverIndex,
                                          interval: *(float *)&args[5].spawnId.value)->value;
        HIBYTE(this->__vftable) = 102;
        return this;
      case 0x16C:
        PositionAlongPath = idSplinePathMM::Event_GetPositionAlongPath(
                              this: (idSplinePathMM *)&v25,
                              (eventVector *)result,
                              distance: *(float *)&args->spawnId.value);
        HIBYTE(this->__vftable) = 118;
        *(eventVector *)&this->listenerList = *PositionAlongPath;
        return this;
      case 0x165:
        idSplinePathMM::Event_PostSpawn(this: (idSplinePathMM *)&v17, result);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      default:
        DirectionAlongPath = idSplinePathMM::Event_GetDirectionAlongPath(
                               this: (idSplinePathMM *)&v26,
                               (eventVector *)result,
                               distance: *(float *)&args->spawnId.value);
        HIBYTE(this->__vftable) = 118;
        *(eventVector *)&this->listenerList = *DirectionAlongPath;
        return this;
    }
  }
}


// ========================================================================
// ?RespondsTo@idSplinePathMM@@UBA_NABVidEventDef@@@Z
// EA  : 0x82543F40
// RVA : 0x00543F40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idSplinePathMM::RespondsTo(idSplinePathMM *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idSplinePathMM *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 357 && eventnum <= 365
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idSplinePathWithOrientation@@SAPAVidClass@@XZ
// EA  : 0x82543FC0
// RVA : 0x00543FC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSplinePathWithOrientation *__fastcall idSplinePathWithOrientation::CreateInstance()
{
  idSplinePathWithOrientation *v0; // r3

  v0 = (idSplinePathWithOrientation *)idMem::AllocWithLocation(
                                        this: &mem,
                                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                        size: 0x390u,
                                        tag: TAG_NEW,
                                        zeroBuffer: false,
                                        align: ALIGN_16,
                                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idSplinePathWithOrientation::idSplinePathWithOrientation(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528164
// EA  : 0x82544028
// RVA : 0x00544028
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528164(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idSplinePathWithOrientation@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82544050
// RVA : 0x00544050
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSplinePathWithOrientation *__fastcall idSplinePathWithOrientation::CastTo(idSplinePathWithOrientation *c)
{
  idSplinePathWithOrientation *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idSplinePathWithOrientation::Type.typeNum
      || (v4 = v2 <= idSplinePathWithOrientation::Type.lastChild, v3 = 1, !v4) )
    {
      v3 = 0;
    }
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idStaticEntity@@SAPAVidClass@@XZ
// EA  : 0x825440F0
// RVA : 0x005440F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idStaticEntity *__fastcall idStaticEntity::CreateInstance()
{
  idStaticEntity *v0; // r3

  v0 = (idStaticEntity *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x328u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idStaticEntity::idStaticEntity(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528253
// EA  : 0x82544158
// RVA : 0x00544158
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528253(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idStaticEntity@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82544180
// RVA : 0x00544180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idStaticEntity *__fastcall idStaticEntity::CastTo(idStaticEntity *c)
{
  idStaticEntity *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idStaticEntity::Type.typeNum || (v4 = v2 <= idStaticEntity::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idStaticEntity@@SA_NPBVidClass@@@Z
// EA  : 0x82544218
// RVA : 0x00544218
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idStaticEntity::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idStaticEntity::Type.typeNum || (v3 = v1 <= idStaticEntity::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idElectricBoltEmitter@@SAPAVidClass@@XZ
// EA  : 0x82544298
// RVA : 0x00544298
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idElectricBoltEmitter *__fastcall idElectricBoltEmitter::CreateInstance()
{
  idElectricBoltEmitter *v0; // r3

  v0 = (idElectricBoltEmitter *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x3B0u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idElectricBoltEmitter::idElectricBoltEmitter(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528342
// EA  : 0x82544300
// RVA : 0x00544300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528342(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idElectricBoltEmitter@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82544328
// RVA : 0x00544328
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idElectricBoltEmitter *__fastcall idElectricBoltEmitter::CallEvent(
        idElectricBoltEmitter *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  int eventnum; // r11
  bfx::BinaryReplayLogOut v10; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idElectricBoltEmitter *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 377 )
  {
    idElectricBoltEmitter::Event_Deactivate(this: (idElectricBoltEmitter *)((char *)&v10.__vftable + 1), result);
  }
  else
  {
    if ( eventnum != 378 )
    {
      idDynamicEntity::CallEvent(this, (idEventArg *)result, event, args);
      return this;
    }
    idPhysics_StaticMulti::UpdateTime(this: &v10);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idElectricBoltEmitter@@UBA_NABVidEventDef@@@Z
// EA  : 0x825443F8
// RVA : 0x005443F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idElectricBoltEmitter::RespondsTo(idElectricBoltEmitter *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idElectricBoltEmitter *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 377 && eventnum <= 378
      || idDynamicEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idInventoryStorage@@SAPAVidClass@@XZ
// EA  : 0x82544478
// RVA : 0x00544478
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInventoryStorage *__fastcall idInventoryStorage::CreateInstance()
{
  idInventoryStorage *v0; // r3

  v0 = (idInventoryStorage *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x650u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInventoryStorage::idInventoryStorage(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528470
// EA  : 0x825444E0
// RVA : 0x005444E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528470(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idGuiEntity@@SAPAVidClass@@XZ
// EA  : 0x82544510
// RVA : 0x00544510
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idGuiEntity *__fastcall idGuiEntity::CreateInstance()
{
  idGuiEntity *v0; // r3

  v0 = (idGuiEntity *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x3B0u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idGuiEntity::idGuiEntity(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528559
// EA  : 0x82544578
// RVA : 0x00544578
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528559(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idGuiEntity@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825445A0
// RVA : 0x005445A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idGuiEntity *__fastcall idGuiEntity::CastTo(idGuiEntity *c)
{
  idGuiEntity *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idGuiEntity::Type.typeNum || (v4 = v2 <= idGuiEntity::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idGuiEntity@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82544638
// RVA : 0x00544638
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idGuiEntity *__fastcall idGuiEntity::CallEvent(
        idGuiEntity *this,
        idEventArg *result,
        const idEventDef *event,
        const idEventArg *args)
{
  char v9; // [sp+50h] [-30h] BYREF
  char v10; // [sp+51h] [-2Fh] BYREF
  char v11; // [sp+52h] [-2Eh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(idEventArg *, const idEventDef *))(*(_DWORD *)&result->type + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idGuiEntity *, idEventArg *, const idEventDef *, const idEventArg *))(*(_DWORD *)&result->type
                                                                                                + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( (unsigned int)(event->eventnum - 379) > 4 )
  {
    idDynamicEntity::CallEvent(this, result, event, args);
    return this;
  }
  else if ( event->eventnum == 380 )
  {
    idGuiEntity::SetString(this: (idGuiEntity *)result, name: args->value.s, str: args[1].value.s);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else if ( event->eventnum == 381 )
  {
    idGuiEntity::Event_ResetGuiEntity(this: (idGuiEntity *)&v9, (eventVoid *)result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else if ( event->eventnum == 382 )
  {
    idGuiEntity::Event_MoveToState(
      this: (idGuiEntity *)&v10,
      (eventVoid *)result,
      state: (idGuiEntity::idGuiEntityInitialState)args->value.i);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    if ( event->eventnum == 379 )
      idGuiEntity::SetFloat(this: (idGuiEntity *)result, name: args->value.s, value: args[1].value.f);
    else
      idGuiEntity::Event_EnableInteract(this: (idGuiEntity *)&v11, (eventVoid *)result, enable: args->value.i != 0);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idGuiEntity@@UBA_NABVidEventDef@@@Z
// EA  : 0x825447B8
// RVA : 0x005447B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idGuiEntity::RespondsTo(idGuiEntity *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idGuiEntity *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 379 && eventnum <= 383
      || idDynamicEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idDynamicJob@@SAPAVidClass@@XZ
// EA  : 0x82544838
// RVA : 0x00544838
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDynamicJob *__fastcall idDynamicJob::CreateInstance()
{
  idDynamicJob *v0; // r3

  v0 = (idDynamicJob *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x328u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idDynamicJob::idDynamicJob(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528748
// EA  : 0x825448A0
// RVA : 0x005448A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528748(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idRandomLoot@@SAPAVidClass@@XZ
// EA  : 0x825448D0
// RVA : 0x005448D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idRandomLoot *__fastcall idRandomLoot::CreateInstance()
{
  idRandomLoot *v0; // r3

  v0 = (idRandomLoot *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x338u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idRandomLoot::idRandomLoot(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528837
// EA  : 0x82544938
// RVA : 0x00544938
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528837(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idLoot_Blocker@@SAPAVidClass@@XZ
// EA  : 0x82544968
// RVA : 0x00544968
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idLoot_Blocker *__fastcall idLoot_Blocker::CreateInstance()
{
  idLoot_Blocker *v0; // r3

  v0 = (idLoot_Blocker *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x368u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idLoot_Blocker::idLoot_Blocker(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$528926
// EA  : 0x825449D0
// RVA : 0x005449D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_528926(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAnimatedSimple@@SAPAVidClass@@XZ
// EA  : 0x82544A00
// RVA : 0x00544A00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedSimple *__fastcall idAnimatedSimple::CreateInstance()
{
  idAnimatedSimple *v0; // r3

  v0 = (idAnimatedSimple *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x1DE8u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAnimatedSimple::idAnimatedSimple(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$529015
// EA  : 0x82544A68
// RVA : 0x00544A68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529015(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAnimatedSimple@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82544A90
// RVA : 0x00544A90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedSimple *__fastcall idAnimatedSimple::CastTo(idAnimatedSimple *c)
{
  idAnimatedSimple *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAnimatedSimple::Type.typeNum || (v4 = v2 <= idAnimatedSimple::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?RespondsTo@idAnimatedSimple@@UBA_NABVidEventDef@@@Z
// EA  : 0x82544B28
// RVA : 0x00544B28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAnimatedSimple::RespondsTo(idAnimatedSimple *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idAnimatedSimple *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 416 && eventnum <= 431
      || idAnimatedEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idProjectile_Arrow@@SAPAVidClass@@XZ
// EA  : 0x82544C20
// RVA : 0x00544C20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProjectile_Arrow *__fastcall idProjectile_Arrow::CreateInstance()
{
  idProjectile_Arrow *v0; // r3

  v0 = (idProjectile_Arrow *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x1820u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProjectile_Arrow::idProjectile_Arrow(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$529302
// EA  : 0x82544C88
// RVA : 0x00544C88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529302(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProjectile_Arrow@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82544CB0
// RVA : 0x00544CB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProjectile_Arrow *__fastcall idProjectile_Arrow::CastTo(idProjectile_Arrow *c)
{
  idProjectile_Arrow *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProjectile_Arrow::Type.typeNum || (v4 = v2 <= idProjectile_Arrow::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idLight@@SAPAVidClass@@XZ
// EA  : 0x82544D50
// RVA : 0x00544D50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idLight *__fastcall idLight::CreateInstance()
{
  idLight *v0; // r3

  v0 = (idLight *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x458u,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idLight::idLight(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$529391
// EA  : 0x82544DB8
// RVA : 0x00544DB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529391(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idLight@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82544DE0
// RVA : 0x00544DE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idLight *__fastcall idLight::CastTo(idLight *c)
{
  idLight *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idLight::Type.typeNum || (v4 = v2 <= idLight::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idLight@@SA_NPBVidClass@@@Z
// EA  : 0x82544E78
// RVA : 0x00544E78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idLight::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idLight::Type.typeNum || (v3 = v1 <= idLight::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idLight@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82544EF0
// RVA : 0x00544EF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idLight *__fastcall idLight::CallEvent(idLight *this, eventVoid *result, const idEventDef *event, idAICover *args)
{
  int eventnum; // r11
  unsigned int v10; // r11
  char v11; // [sp+50h] [-40h] BYREF
  char v12; // [sp+51h] [-3Fh] BYREF
  char v13; // [sp+52h] [-3Eh] BYREF
  char v14; // [sp+53h] [-3Dh] BYREF
  char v15; // [sp+54h] [-3Ch] BYREF
  char v16; // [sp+55h] [-3Bh] BYREF
  char v17; // [sp+56h] [-3Ah] BYREF
  char v18; // [sp+57h] [-39h] BYREF
  char v19; // [sp+58h] [-38h] BYREF
  char v20; // [sp+59h] [-37h] BYREF
  char v21; // [sp+5Ah] [-36h] BYREF
  char v22; // [sp+5Bh] [-35h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idLight *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum > 488 )
  {
    v10 = eventnum - 489;
    if ( v10 > 4 )
    {
LABEL_30:
      idEntity::CallEvent(this, result, event, args);
      return this;
    }
    switch ( v10 )
    {
      case 1u:
        idLight::Event_PostOff(this: (idLight *)&v19, result);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      case 2u:
        idLight::Event_FadeOutLight(this: (idLight *)&v20, result, time: *(float *)&args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      case 3u:
        idLight::Event_FadeInLight(this: (idLight *)&v21, result, time: *(float *)&args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      default:
        if ( v10 != 0 )
          idLight::Event_PostOff(this: (idLight *)&v22, result);
        else
          idLight::Event_On(this: (idLight *)&v18, result);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
    }
  }
  else
  {
    if ( eventnum == 488 )
    {
      idLight::Event_SetRadius(this: (idLight *)&v17, result, radius: *(float *)&args->spawnId.value);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      return this;
    }
    if ( eventnum <= 485 )
    {
      switch ( eventnum )
      {
        case 485:
          idLight::Event_SetShader(this: (idLight *)&v14, result, shadername: (const char *)args->spawnId.value);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          return this;
        case 106:
          idLight::Event_Hide(this: (idEntity *)&v13, result);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          return this;
        case 107:
          idLight::Event_Show(this: (idEntity *)&v12, result);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          return this;
        case 357:
          idLight::Event_PostSpawn(this: (idLight *)&v11, result);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          return this;
        default:
          break;
      }
      goto LABEL_30;
    }
    if ( eventnum == 486 )
      idLight::Event_SetLightParms(
        this: (idLight *)&v16,
        result,
        parm0: *(float *)&args->spawnId.value,
        parm1: *(float *)&args[2].aas,
        parm2: *(float *)&args[3].coverIndex,
        parm3: *(float *)&args[5].spawnId.value);
    else
      idLight::Event_SetRadiusXYZ(
        this: (idLight *)&v15,
        result,
        x: *(float *)&args->spawnId.value,
        y: *(float *)&args[2].aas,
        z: *(float *)&args[3].coverIndex);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idLight@@UBA_NABVidEventDef@@@Z
// EA  : 0x825451C0
// RVA : 0x005451C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idLight::RespondsTo(idLight *this, const idEventDef *event)
{
  int eventnum; // r11
  bool v6; // cr57

  if ( ((unsigned __int8 (__fastcall *)(idLight *))this->InternalRespondsTo)(a1: this) != 0 )
    return true;
  eventnum = event->eventnum;
  if ( eventnum > 357 )
  {
    if ( eventnum >= 485 )
    {
      v6 = eventnum > 493;
LABEL_9:
      if ( v6 )
        return idEntity::RespondsTo(this, event);
      return true;
    }
  }
  else
  {
    if ( eventnum == 357 )
      return true;
    if ( eventnum >= 106 )
    {
      v6 = eventnum > 107;
      goto LABEL_9;
    }
  }
  return idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idEnvArea@@SAPAVidClass@@XZ
// EA  : 0x82545260
// RVA : 0x00545260
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idEnvArea::CreateInstance()
{
  idLight *v0; // r3
  _DWORD *v1; // r30

  v0 = (idLight *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x458u,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idLight::idLight(this: v0);
  *v1 = &idEnvArea::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$529645
// EA  : 0x825452E4
// RVA : 0x005452E4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529645(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idCameraView@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82545370
// RVA : 0x00545370
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCameraView *__fastcall idCameraView::CastTo(idCameraView *c)
{
  idCameraView *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idCameraView::Type.typeNum || (v4 = v2 <= idCameraView::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idEntityCamera@@SAPAVidClass@@XZ
// EA  : 0x82545410
// RVA : 0x00545410
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntityCamera *__fastcall idEntityCamera::CreateInstance()
{
  idEntityCamera *v0; // r3

  v0 = (idEntityCamera *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x3D0u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idEntityCamera::idEntityCamera(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$529831
// EA  : 0x82545478
// RVA : 0x00545478
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529831(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTownGarageCamera@@SAPAVidClass@@XZ
// EA  : 0x825454A8
// RVA : 0x005454A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTownGarageCamera *__fastcall idTownGarageCamera::CreateInstance()
{
  idTownGarageCamera *v0; // r3

  v0 = (idTownGarageCamera *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x498u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTownGarageCamera::idTownGarageCamera(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$529920
// EA  : 0x82545510
// RVA : 0x00545510
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_529920(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idReviveCamera@@SAPAVidClass@@XZ
// EA  : 0x82545540
// RVA : 0x00545540
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idReviveCamera *__fastcall idReviveCamera::CreateInstance()
{
  idReviveCamera *v0; // r3

  v0 = (idReviveCamera *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x370u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idReviveCamera::idReviveCamera(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$530009
// EA  : 0x825455A8
// RVA : 0x005455A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530009(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idReviveCamera@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825455D0
// RVA : 0x005455D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idReviveCamera *__fastcall idReviveCamera::CastTo(idReviveCamera *c)
{
  idReviveCamera *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idReviveCamera::Type.typeNum || (v4 = v2 <= idReviveCamera::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idThrownCamera@@SAPAVidClass@@XZ
// EA  : 0x82545670
// RVA : 0x00545670
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idThrownCamera *__fastcall idThrownCamera::CreateInstance()
{
  idThrownCamera *v0; // r3

  v0 = (idThrownCamera *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x388u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idThrownCamera::idThrownCamera(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$530098
// EA  : 0x825456D8
// RVA : 0x005456D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530098(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idThrownCamera@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82545700
// RVA : 0x00545700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idThrownCamera *__fastcall idThrownCamera::CastTo(idThrownCamera *c)
{
  idThrownCamera *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idThrownCamera::Type.typeNum || (v4 = v2 <= idThrownCamera::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idFreeCamera@@SAPAVidClass@@XZ
// EA  : 0x825457A0
// RVA : 0x005457A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idFreeCamera *__fastcall idFreeCamera::CreateInstance()
{
  idFreeCamera *v0; // r3

  v0 = (idFreeCamera *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x3C8u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idFreeCamera::idFreeCamera(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$530187
// EA  : 0x82545808
// RVA : 0x00545808
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530187(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idFreeCamera@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82545830
// RVA : 0x00545830
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idFreeCamera *__fastcall idFreeCamera::CastTo(idFreeCamera *c)
{
  idFreeCamera *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idFreeCamera::Type.typeNum || (v4 = v2 <= idFreeCamera::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVolume_Repairs@@SAPAVidClass@@XZ
// EA  : 0x825458D0
// RVA : 0x005458D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume *__fastcall idVolume_Repairs::CreateInstance()
{
  idVolume *v0; // r3
  idVolume *v1; // r30

  v0 = (idVolume *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x348u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idVolume::idVolume(this: v0);
  v1[1].listenerList = nullptr;
  v1->__vftable = (idVolume_vtbl *)&idVolume_Repairs::`vftable';
  *(float *)&v1[1].__vftable = 20.0;
  HIBYTE(v1[1].listeningToList) = 0;
  return v1;
}


// ========================================================================
// __unwind$530276
// EA  : 0x8254596C
// RVA : 0x0054596C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530276(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idVolume_Repairs@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82545998
// RVA : 0x00545998
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_Repairs *__fastcall idVolume_Repairs::CallEvent(
        idVolume_Repairs *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idAICover *v10; // r3
  int v11; // r29
  idEntity *v12; // r3
  idAICover *v13; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v16; // [sp+50h] [-30h] BYREF
  char v17; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idVolume_Repairs *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 446 )
  {
    v13 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v13);
    idVolume_Repairs::Event_Touch(this: (idVolume_Repairs *)&v17, result, other: Entity, clipModelId: aas);
  }
  else
  {
    if ( eventnum != 447 )
    {
      idVolume::CallEvent(this, result, event, args);
      return this;
    }
    v10 = args;
    v11 = (int)args[2].aas;
    v12 = (idEntity *)idEventArg::GetEntity(this: v10);
    idVolume_Repairs::Event_Untouch(this: (idVolume_Repairs *)&v16, result, other: v12, clipModelId: v11);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?CreateInstance@idVolume_DamageMultiplier@@SAPAVidClass@@XZ
// EA  : 0x82545AA0
// RVA : 0x00545AA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_DamageMultiplier *__fastcall idVolume_DamageMultiplier::CreateInstance()
{
  idVolume_DamageMultiplier *v0; // r3

  v0 = (idVolume_DamageMultiplier *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x340u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVolume_DamageMultiplier::idVolume_DamageMultiplier(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$530416
// EA  : 0x82545B08
// RVA : 0x00545B08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530416(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idVolume_DamageMultiplier@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82545B30
// RVA : 0x00545B30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_DamageMultiplier *__fastcall idVolume_DamageMultiplier::CallEvent(
        idVolume_DamageMultiplier *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idAICover *v10; // r3
  int v11; // r29
  idEntity *v12; // r3
  idAICover *v13; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v16; // [sp+50h] [-30h] BYREF
  char v17; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idVolume_DamageMultiplier *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 446 )
  {
    v13 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v13);
    idVolume_DamageMultiplier::Event_Touch(
      this: (idVolume_DamageMultiplier *)&v17,
      result,
      other: Entity,
      clipModelId: aas);
  }
  else
  {
    if ( eventnum != 447 )
    {
      idVolume::CallEvent(this, result, event, args);
      return this;
    }
    v10 = args;
    v11 = (int)args[2].aas;
    v12 = (idEntity *)idEventArg::GetEntity(this: v10);
    idVolume_DamageMultiplier::Event_Untouch(
      this: (idVolume_DamageMultiplier *)&v16,
      result,
      other: v12,
      clipModelId: v11);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?CallEvent@idVolume_DynamicJob@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82545C30
// RVA : 0x00545C30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_DynamicJob *__fastcall idVolume_DynamicJob::CallEvent(
        idVolume_DynamicJob *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idAICover *v10; // r3
  int v11; // r29
  idEntity *v12; // r3
  idAICover *v13; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v16; // [sp+50h] [-30h] BYREF
  char v17; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idVolume_DynamicJob *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 446 )
  {
    v13 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v13);
    idVolume_DynamicJob::Event_Touch(this: (idVolume_DynamicJob *)&v17, result, other: Entity, clipModelId: aas);
  }
  else
  {
    if ( eventnum != 447 )
    {
      idVolume::CallEvent(this, result, event, args);
      return this;
    }
    v10 = args;
    v11 = (int)args[2].aas;
    v12 = (idEntity *)idEventArg::GetEntity(this: v10);
    idVolume_DynamicJob::Event_Untouch(this: (idVolume_DynamicJob *)&v16, result, other: v12, clipModelId: v11);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?CreateInstance@idVolume_ForceDormant@@SAPAVidClass@@XZ
// EA  : 0x82545D38
// RVA : 0x00545D38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_ForceDormant *__fastcall idVolume_ForceDormant::CreateInstance()
{
  idVolume_ForceDormant *v0; // r3

  v0 = (idVolume_ForceDormant *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x350u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVolume_ForceDormant::idVolume_ForceDormant(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$530665
// EA  : 0x82545DA0
// RVA : 0x00545DA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530665(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idVolume_ForceDormant@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82545DC8
// RVA : 0x00545DC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_ForceDormant *__fastcall idVolume_ForceDormant::CallEvent(
        idVolume_ForceDormant *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idAICover *v10; // r3
  int v11; // r29
  idEntity *v12; // r3
  idAICover *v13; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v16; // [sp+50h] [-30h] BYREF
  char v17; // [sp+51h] [-2Fh] BYREF
  bfx::BinaryReplayLogOut v18; // [sp+52h] [-2Eh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idVolume_ForceDormant *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result
                                                                                                  + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  switch ( eventnum )
  {
    case 357:
      idPhysics_StaticMulti::UpdateTime(this: &v18);
      break;
    case 446:
      v13 = args;
      aas = (int)args[2].aas;
      Entity = (idEntity *)idEventArg::GetEntity(this: v13);
      idVolume_ForceDormant::Event_Touch(this: (idVolume_ForceDormant *)&v17, result, other: Entity, clipModelId: aas);
      break;
    case 447:
      v10 = args;
      v11 = (int)args[2].aas;
      v12 = (idEntity *)idEventArg::GetEntity(this: v10);
      idVolume_ForceDormant::Event_Untouch(this: (idVolume_ForceDormant *)&v16, result, other: v12, clipModelId: v11);
      break;
    default:
      idVolume::CallEvent(this, result, event, args);
      return this;
  }
  HIBYTE(this->__vftable) = 0;
  this->listenerList = nullptr;
  return this;
}


// ========================================================================
// ?RespondsTo@idVolume_ForceDormant@@UBA_NABVidEventDef@@@Z
// EA  : 0x82545EE0
// RVA : 0x00545EE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idVolume_ForceDormant::RespondsTo(idVolume_ForceDormant *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idVolume_ForceDormant *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) == 357
      || eventnum > 445 && eventnum <= 447
      || idVolume::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idScenePoint_UserGroup@@SAPAVidClass@@XZ
// EA  : 0x82545F68
// RVA : 0x00545F68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idScenePoint_UserGroup::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x320u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  *v1 = &idScenePoint_UserGroup::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$530808
// EA  : 0x82545FEC
// RVA : 0x00545FEC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530808(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idScenePoint_UserGroup@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546018
// RVA : 0x00546018
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idScenePoint_UserGroup *__fastcall idScenePoint_UserGroup::CastTo(idScenePoint_UserGroup *c)
{
  idScenePoint_UserGroup *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idScenePoint_UserGroup::Type.typeNum || (v4 = v2 <= idScenePoint_UserGroup::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idInfoFocus@@SAPAVidClass@@XZ
// EA  : 0x825460B8
// RVA : 0x005460B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idInfoFocus::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  HIBYTE(v1[1].__vftable) = 0;
  v1->__vftable = (idEntity_vtbl *)&idInfoFocus::`vftable';
  return v1;
}


// ========================================================================
// __unwind$530907
// EA  : 0x82546144
// RVA : 0x00546144
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_530907(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInfoPath@@SAPAVidClass@@XZ
// EA  : 0x82546178
// RVA : 0x00546178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoPath *__fastcall idInfoPath::CreateInstance()
{
  idInfoPath *v0; // r3

  v0 = (idInfoPath *)idMem::AllocWithLocation(
                       this: &mem,
                       location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                       size: 0x390u,
                       tag: TAG_NEW,
                       zeroBuffer: false,
                       align: ALIGN_16,
                       heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoPath::idInfoPath(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531000
// EA  : 0x825461E0
// RVA : 0x005461E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531000(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idInfoPath@@SAPBV1@PBVidClass@@@Z
// EA  : 0x82546208
// RVA : 0x00546208
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoPath *__fastcall idInfoPath::CastTo(idInfoPath *c)
{
  idInfoPath *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idInfoPath::Type.typeNum || (v4 = v2 <= idInfoPath::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idAIHint@@SAPAVidClass@@XZ
// EA  : 0x825462A8
// RVA : 0x005462A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIHint *__fastcall idAIHint::CreateInstance()
{
  idAIHint *v0; // r3

  v0 = (idAIHint *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIHint::idAIHint(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531089
// EA  : 0x82546310
// RVA : 0x00546310
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531089(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAIHint@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546338
// RVA : 0x00546338
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIHint *__fastcall idAIHint::CastTo(idAIHint *c)
{
  idAIHint *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAIHint::Type.typeNum || (v4 = v2 <= idAIHint::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idAICombatHint@@SAPAVidClass@@XZ
// EA  : 0x825463D8
// RVA : 0x005463D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAICombatHint *__fastcall idAICombatHint::CreateInstance()
{
  idAICombatHint *v0; // r3

  v0 = (idAICombatHint *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x360u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAICombatHint::idAICombatHint(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531178
// EA  : 0x82546440
// RVA : 0x00546440
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531178(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAICombatHint@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546468
// RVA : 0x00546468
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAICombatHint *__fastcall idAICombatHint::CastTo(idAICombatHint *c)
{
  idAICombatHint *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAICombatHint::Type.typeNum || (v4 = v2 <= idAICombatHint::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idAISearchHintAuto@@SAPAVidClass@@XZ
// EA  : 0x82546508
// RVA : 0x00546508
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAISearchHintAuto *__fastcall idAISearchHintAuto::CreateInstance()
{
  idAISearchHintAuto *v0; // r3

  v0 = (idAISearchHintAuto *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x330u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAISearchHintAuto::idAISearchHintAuto(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531267
// EA  : 0x82546570
// RVA : 0x00546570
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531267(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idInfoRoam@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546598
// RVA : 0x00546598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoRoam *__fastcall idInfoRoam::CastTo(idInfoRoam *c)
{
  idInfoRoam *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idInfoRoam::Type.typeNum || (v4 = v2 <= idInfoRoam::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idInfoStaticReflection@@SAPAVidClass@@XZ
// EA  : 0x82546638
// RVA : 0x00546638
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoStaticReflection *__fastcall idInfoStaticReflection::CreateInstance()
{
  idInfoStaticReflection *v0; // r3

  v0 = (idInfoStaticReflection *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x328u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoStaticReflection::idInfoStaticReflection(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531440
// EA  : 0x825466A0
// RVA : 0x005466A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531440(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInfoSpawnPoint@@SAPAVidClass@@XZ
// EA  : 0x825466D0
// RVA : 0x005466D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoSpawnPoint *__fastcall idInfoSpawnPoint::CreateInstance()
{
  idInfoSpawnPoint *v0; // r3

  v0 = (idInfoSpawnPoint *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x320u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoSpawnPoint::idInfoSpawnPoint(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531529
// EA  : 0x82546738
// RVA : 0x00546738
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531529(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInfoLookTarget@@SAPAVidClass@@XZ
// EA  : 0x82546768
// RVA : 0x00546768
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoLookTarget *__fastcall idInfoLookTarget::CreateInstance()
{
  idInfoLookTarget *v0; // r3

  v0 = (idInfoLookTarget *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x350u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoLookTarget::idInfoLookTarget(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531762
// EA  : 0x825467D0
// RVA : 0x005467D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531762(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idInfoLookTarget@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825467F8
// RVA : 0x005467F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoLookTarget *__fastcall idInfoLookTarget::CastTo(idInfoLookTarget *c)
{
  idInfoLookTarget *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idInfoLookTarget::Type.typeNum || (v4 = v2 <= idInfoLookTarget::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idInfoLinkSegment@@SAPAVidClass@@XZ
// EA  : 0x82546898
// RVA : 0x00546898
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoLinkSegment *__fastcall idInfoLinkSegment::CreateInstance()
{
  idInfoLinkSegment *v0; // r3

  v0 = (idInfoLinkSegment *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x3C8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoLinkSegment::idInfoLinkSegment(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531851
// EA  : 0x82546900
// RVA : 0x00546900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531851(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idInfoLinkSegment@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546928
// RVA : 0x00546928
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoLinkSegment *__fastcall idInfoLinkSegment::CastTo(idInfoLinkSegment *c)
{
  idInfoLinkSegment *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idInfoLinkSegment::Type.typeNum || (v4 = v2 <= idInfoLinkSegment::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idInfoLinkSegment@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825469C0
// RVA : 0x005469C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoLinkSegment *__fastcall idInfoLinkSegment::CallEvent(
        idInfoLinkSegment *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  char v10; // [sp+50h] [-30h] BYREF
  char v11; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idInfoLinkSegment *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 357 )
  {
    idInfoLinkSegment::Event_PostSpawn(this: (idInfoLinkSegment *)&v11, result);
  }
  else
  {
    if ( eventnum != 612 )
    {
      idTarget_Path::CallEvent((idWaypoint *)this, result, event, args);
      return this;
    }
    idInfoLinkSegment::Event_EnableLink(this: (idInfoLinkSegment *)&v10, result, enable: args->spawnId.value != 0);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idInfoLinkSegment@@UBA_NABVidEventDef@@@Z
// EA  : 0x82546A98
// RVA : 0x00546A98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idInfoLinkSegment::RespondsTo(idInfoLinkSegment *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idInfoLinkSegment *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) == 357
      || eventnum == 612
      || mgFunc_StopDemo::RespondsTo((idWaypoint *)this, event);
}


// ========================================================================
// ?CreateInstance@idInfoNavFlightVolume@@SAPAVidClass@@XZ
// EA  : 0x82546B18
// RVA : 0x00546B18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idInfoNavFlightVolume *__fastcall idInfoNavFlightVolume::CreateInstance()
{
  idInfoNavFlightVolume *v0; // r3

  v0 = (idInfoNavFlightVolume *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x330u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idInfoNavFlightVolume::idInfoNavFlightVolume(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$531982
// EA  : 0x82546B80
// RVA : 0x00546B80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_531982(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idScenePoint_Roam@@SAPAVidClass@@XZ
// EA  : 0x82546BB0
// RVA : 0x00546BB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idScenePoint_Roam *__fastcall idScenePoint_Roam::CreateInstance()
{
  idScenePoint_Roam *v0; // r3

  v0 = (idScenePoint_Roam *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x370u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idScenePoint_Roam::idScenePoint_Roam(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532071
// EA  : 0x82546C18
// RVA : 0x00546C18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532071(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idScenePoint_Roam@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546C40
// RVA : 0x00546C40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idScenePoint_Roam *__fastcall idScenePoint_Roam::CastTo(idScenePoint_Roam *c)
{
  idScenePoint_Roam *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idScenePoint_Roam::Type.typeNum || (v4 = v2 <= idScenePoint_Roam::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idTrigger@@SAPAVidClass@@XZ
// EA  : 0x82546CE0
// RVA : 0x00546CE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger *__fastcall idTrigger::CreateInstance()
{
  idTrigger *v0; // r3

  v0 = (idTrigger *)idMem::AllocWithLocation(
                      this: &mem,
                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                      size: 0x380u,
                      tag: TAG_NEW,
                      zeroBuffer: false,
                      align: ALIGN_16,
                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTrigger::idTrigger(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532160
// EA  : 0x82546D48
// RVA : 0x00546D48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532160(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idTrigger@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82546D70
// RVA : 0x00546D70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger *__fastcall idTrigger::CastTo(idTrigger *c)
{
  idTrigger *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idTrigger::Type.typeNum || (v4 = v2 <= idTrigger::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idTrigger@@SA_NPBVidClass@@@Z
// EA  : 0x82546E08
// RVA : 0x00546E08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idTrigger::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idTrigger::Type.typeNum || (v3 = v1 <= idTrigger::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idTrigger@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82546E80
// RVA : 0x00546E80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger *__fastcall idTrigger::CallEvent(
        idTrigger *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idEntity *v10; // r3
  idAICover *v11; // r3
  int aas; // r29
  idEntity *Entity; // r3
  idList<idEventReceiver *,5> *value; // r9
  char v15; // [sp+50h] [-30h] BYREF
  char v16; // [sp+51h] [-2Fh] BYREF
  char v17; // [sp+52h] [-2Eh] BYREF
  char v18; // [sp+53h] [-2Dh] BYREF
  char v19; // [sp+54h] [-2Ch] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTrigger *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum > 615 )
  {
    if ( eventnum == 616 )
    {
      idTrigger::Event_Disable(this: (idTrigger *)&v18, result);
      goto LABEL_15;
    }
    if ( eventnum == 617 )
    {
      value = (idList<idEventReceiver *,5> *)idTrigger::Event_GetUserData(
                                               this: (idTrigger *)&v19,
                                               (eventString *)result)->value;
      HIBYTE(this->__vftable) = 115;
      this->listenerList = value;
      return this;
    }
    goto LABEL_12;
  }
  if ( eventnum == 615 )
  {
    idTrigger::Event_Enable(this: (idTrigger *)&v17, result);
    goto LABEL_15;
  }
  if ( eventnum == 446 )
  {
    v11 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v11);
    idTrigger::Event_Touch(this: (idTrigger *)&v16, result, other: Entity, clipModelId: aas);
    goto LABEL_15;
  }
  if ( eventnum != 614 )
  {
LABEL_12:
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
  v10 = (idEntity *)idEventArg::GetEntity(this: args);
  idTrigger::Event_TriggerStuff(this: (idTrigger *)&v15, result, activator: v10);
LABEL_15:
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idTrigger@@UBA_NABVidEventDef@@@Z
// EA  : 0x82546FE0
// RVA : 0x00546FE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idTrigger::RespondsTo(idTrigger *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idTrigger *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) == 446
      || eventnum > 613 && eventnum <= 617
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTrigger_DamageType@@SAPAVidClass@@XZ
// EA  : 0x82547068
// RVA : 0x00547068
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_DamageType *__fastcall idTrigger_DamageType::CreateInstance()
{
  idTrigger_DamageType *v0; // r3

  v0 = (idTrigger_DamageType *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x390u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTrigger_DamageType::idTrigger_DamageType(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532317
// EA  : 0x825470D0
// RVA : 0x005470D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532317(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTrigger_GameChallenge@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825470F8
// RVA : 0x005470F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_GameChallenge *__fastcall idTrigger_GameChallenge::CallEvent(
        idTrigger_GameChallenge *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTrigger_GameChallenge *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 446 )
  {
    v9 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idTrigger_GameChallenge::Event_Touch(this: (idTrigger_GameChallenge *)&v12, result, other: Entity, clipModelId: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idTrigger::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CreateInstance@idTrigger_BoostPad@@SAPAVidClass@@XZ
// EA  : 0x825471D0
// RVA : 0x005471D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_BoostPad *__fastcall idTrigger_BoostPad::CreateInstance()
{
  idTrigger_BoostPad *v0; // r3

  v0 = (idTrigger_BoostPad *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x3A8u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTrigger_BoostPad::idTrigger_BoostPad(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532540
// EA  : 0x82547238
// RVA : 0x00547238
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532540(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTrigger_BoostPad@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82547260
// RVA : 0x00547260
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_BoostPad *__fastcall idTrigger_BoostPad::CallEvent(
        idTrigger_BoostPad *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTrigger_BoostPad *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 446 )
  {
    v9 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idTrigger_BoostPad::Event_Touch(this: (idTrigger_BoostPad *)&v12, result, other: Entity, clipModelId: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idTrigger::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CreateInstance@idTrigger_AIInteraction@@SAPAVidClass@@XZ
// EA  : 0x82547338
// RVA : 0x00547338
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_AIInteraction *__fastcall idTrigger_AIInteraction::CreateInstance()
{
  idTrigger_AIInteraction *v0; // r3

  v0 = (idTrigger_AIInteraction *)idMem::AllocWithLocation(
                                    this: &mem,
                                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                    size: 0x390u,
                                    tag: TAG_NEW,
                                    zeroBuffer: false,
                                    align: ALIGN_16,
                                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTrigger_AIInteraction::idTrigger_AIInteraction(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532663
// EA  : 0x825473A0
// RVA : 0x005473A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532663(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idMultiplayerTrigger@@UBA_NABVidEventDef@@@Z
// EA  : 0x825473C8
// RVA : 0x005473C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idMultiplayerTrigger::RespondsTo(idTrigger_EventListener *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idTrigger_EventListener *))this->InternalRespondsTo)(a1: this) != 0
      || idTrigger::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTrigger_OpenDoor@@SAPAVidClass@@XZ
// EA  : 0x82547438
// RVA : 0x00547438
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_OpenDoor *__fastcall idTrigger_OpenDoor::CreateInstance()
{
  idTrigger_OpenDoor *v0; // r3

  v0 = (idTrigger_OpenDoor *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x390u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTrigger_OpenDoor::idTrigger_OpenDoor(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532765
// EA  : 0x825474A0
// RVA : 0x005474A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532765(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTrigger_OpenDoor@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825474C8
// RVA : 0x005474C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTrigger_OpenDoor *__fastcall idTrigger_OpenDoor::CallEvent(
        idTrigger_OpenDoor *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTrigger_OpenDoor *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 446 )
  {
    v9 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idTrigger_OpenDoor::Event_Touch(this: (idTrigger_OpenDoor *)&v12, result, other: Entity, clipModelId: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idTrigger::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CastTo@idSoundDoor@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82547598
// RVA : 0x00547598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSoundDoor *__fastcall idSoundDoor::CastTo(idSoundDoor *c)
{
  idSoundDoor *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idSoundDoor::Type.typeNum || (v4 = v2 <= idSoundDoor::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idSoundDoor@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82547630
// RVA : 0x00547630
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSoundDoor *__fastcall idSoundDoor::CallEvent(
        idSoundDoor *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idEntity *v10; // r3
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF
  char v13; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idSoundDoor *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 623 )
  {
    Entity = (idEntity *)idEventArg::GetEntity(this: args);
    idSoundDoor::Event_Open(this: (idSoundDoor *)&v13, result, user: Entity);
  }
  else
  {
    if ( eventnum != 624 )
    {
      idEntity::CallEvent(this, result, event, args);
      return this;
    }
    v10 = (idEntity *)idEventArg::GetEntity(this: args);
    idSoundDoor::Event_Close(this: (idSoundDoor *)&v12, result, user: v10);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idSoundDoor@@UBA_NABVidEventDef@@@Z
// EA  : 0x82547720
// RVA : 0x00547720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idSoundDoor::RespondsTo(idSoundDoor *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idSoundDoor *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 623 && eventnum <= 624
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTarget_FadeSoundChannel@@SAPAVidClass@@XZ
// EA  : 0x825477A0
// RVA : 0x005477A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_FadeSoundChannel *__fastcall idTarget_FadeSoundChannel::CreateInstance()
{
  idTarget_FadeSoundChannel *v0; // r3

  v0 = (idTarget_FadeSoundChannel *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x338u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_FadeSoundChannel::idTarget_FadeSoundChannel(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$532993
// EA  : 0x82547808
// RVA : 0x00547808
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_532993(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idScriptMapEntity@@SAPAVidClass@@XZ
// EA  : 0x82547838
// RVA : 0x00547838
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idScriptMapEntity *__fastcall idScriptMapEntity::CreateInstance()
{
  idScriptMapEntity *v0; // r3

  v0 = (idScriptMapEntity *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x328u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idScriptMapEntity::idScriptMapEntity(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533082
// EA  : 0x825478A0
// RVA : 0x005478A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533082(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idScriptMapEntity@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825478C8
// RVA : 0x005478C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idScriptMapEntity *__fastcall idScriptMapEntity::CallEvent(
        idScriptMapEntity *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  char v9; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idScriptMapEntity *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 377 )
  {
    idScriptMapEntity::Event_Deactivate(this: (idScriptMapEntity *)&v9, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idCamera@@UBA_NABVidEventDef@@@Z
// EA  : 0x82547980
// RVA : 0x00547980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idCamera::RespondsTo(idCamera *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idCamera *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 377
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idProp_ContinuallyUsed@@SAPAVidClass@@XZ
// EA  : 0x825479F8
// RVA : 0x005479F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_ContinuallyUsed *__fastcall idProp_ContinuallyUsed::CreateInstance()
{
  idProp_ContinuallyUsed *v0; // r3

  v0 = (idProp_ContinuallyUsed *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x14E8u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_ContinuallyUsed::idProp_ContinuallyUsed(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533201
// EA  : 0x82547A60
// RVA : 0x00547A60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533201(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProp_ContinuallyUsed@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82547A88
// RVA : 0x00547A88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_ContinuallyUsed *__fastcall idProp_ContinuallyUsed::CastTo(idProp_ContinuallyUsed *c)
{
  idProp_ContinuallyUsed *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_ContinuallyUsed::Type.typeNum || (v4 = v2 <= idProp_ContinuallyUsed::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idProp_ContinuallyUsed@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82547B20
// RVA : 0x00547B20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_ContinuallyUsed *__fastcall idProp_ContinuallyUsed::CallEvent(
        idProp_ContinuallyUsed *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  char v9; // [sp+50h] [-30h] BYREF
  char v10; // [sp+51h] [-2Fh] BYREF
  char v11; // [sp+52h] [-2Eh] BYREF
  char v12; // [sp+54h] [-2Ch] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idProp_ContinuallyUsed *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( (unsigned int)(event->eventnum - 645) > 3 )
  {
    idProp_Usable::CallEvent(this, result, event, args);
    return this;
  }
  else if ( event->eventnum == 646 )
  {
    *(float *)&this->listenerList = idProp_ContinuallyUsed::Event_GetUsePercent(
                                      this: (idProp_ContinuallyUsed *)&v12,
                                      (eventFloat *)result)->value;
    HIBYTE(this->__vftable) = 102;
    return this;
  }
  else if ( event->eventnum == 647 )
  {
    idProp_ContinuallyUsed::Event_SetRateOfIncrease(
      this: (idProp_ContinuallyUsed *)&v10,
      result,
      rate: *(float *)&args->spawnId.value);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    if ( event->eventnum == 645 )
      idProp_ContinuallyUsed::Event_SetUsePercent(
        this: (idProp_ContinuallyUsed *)&v9,
        result,
        usePercent: *(float *)&args->spawnId.value);
    else
      idProp_ContinuallyUsed::Event_SetRateOfDecrease(
        this: (idProp_ContinuallyUsed *)&v11,
        result,
        rate: *(float *)&args->spawnId.value);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idProp_ContinuallyUsed@@UBA_NABVidEventDef@@@Z
// EA  : 0x82547C78
// RVA : 0x00547C78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idProp_ContinuallyUsed::RespondsTo(idProp_ContinuallyUsed *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idProp_ContinuallyUsed *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 645 && eventnum <= 648
      || idProp_Usable::RespondsTo(this, event);
}


// ========================================================================
// ?CastTo@idProp_Loot@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82547CF0
// RVA : 0x00547CF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_Loot *__fastcall idProp_Loot::CastTo(idProp_Loot *c)
{
  idProp_Loot *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_Loot::Type.typeNum || (v4 = v2 <= idProp_Loot::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idProp_Loot@@SA_NPBVidClass@@@Z
// EA  : 0x82547D88
// RVA : 0x00547D88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idProp_Loot::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idProp_Loot::Type.typeNum || (v3 = v1 <= idProp_Loot::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idProp_AIArmor@@SAPAVidClass@@XZ
// EA  : 0x82547E08
// RVA : 0x00547E08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_AIArmor *__fastcall idProp_AIArmor::CreateInstance()
{
  idProp_AIArmor *v0; // r3

  v0 = (idProp_AIArmor *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x1B78u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_AIArmor::idProp_AIArmor(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533423
// EA  : 0x82547E70
// RVA : 0x00547E70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533423(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProp_AIArmor@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82547E98
// RVA : 0x00547E98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_AIArmor *__fastcall idProp_AIArmor::CastTo(idProp_AIArmor *c)
{
  idProp_AIArmor *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_AIArmor::Type.typeNum || (v4 = v2 <= idProp_AIArmor::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idProp_VehicleJump@@SAPAVidClass@@XZ
// EA  : 0x82547F38
// RVA : 0x00547F38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_VehicleJump *__fastcall idProp_VehicleJump::CreateInstance()
{
  idProp_VehicleJump *v0; // r3

  v0 = (idProp_VehicleJump *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x1C48u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_VehicleJump::idProp_VehicleJump(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533512
// EA  : 0x82547FA0
// RVA : 0x00547FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533512(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idProp_VehicleJump@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82547FC8
// RVA : 0x00547FC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_VehicleJump *__fastcall idProp_VehicleJump::CallEvent(
        idProp_VehicleJump *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idProp_VehicleJump *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 446 )
  {
    v9 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idProp_VehicleJump::Event_Touch(this: (idProp_GameStateInt *)&v12, result, other: Entity, clipModelId: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idProp_Breakable::CallEvent(this, result, event, (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idProp_VehicleJump@@UBA_NABVidEventDef@@@Z
// EA  : 0x82548098
// RVA : 0x00548098
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idProp_VehicleJump::RespondsTo(idProp_VehicleJump *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idProp_VehicleJump *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 446
      || idProp_Breakable::RespondsTo(this, event);
}


// ========================================================================
// ?CallEvent@idProp_VehicleArmor@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82548108
// RVA : 0x00548108
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_VehicleArmor *__fastcall idProp_VehicleArmor::CallEvent(
        idProp_VehicleArmor *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  int aas; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idProp_VehicleArmor *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 446 )
  {
    v9 = args;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idProp_VehicleArmor::Event_Touch(this: (idProp_VehicleArmor *)&v12, result, other: Entity, clipModelId: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idProp_VehiclePickup::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idProp_VehicleArmor@@UBA_NABVidEventDef@@@Z
// EA  : 0x825481D8
// RVA : 0x005481D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idProp_VehicleArmor::RespondsTo(idProp_VehicleArmor *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idProp_VehicleArmor *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 446
      || idProp_VehiclePickup::RespondsTo((idProp_GameStateInt *)this, event);
}


// ========================================================================
// ?CreateInstance@idProp_JobPosting@@SAPAVidClass@@XZ
// EA  : 0x82548250
// RVA : 0x00548250
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_JobPosting *__fastcall idProp_JobPosting::CreateInstance()
{
  idProp_JobPosting *v0; // r3

  v0 = (idProp_JobPosting *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x14A8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_JobPosting::idProp_JobPosting(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533735
// EA  : 0x825482B8
// RVA : 0x005482B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533735(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProp_JobPosting@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825482E0
// RVA : 0x005482E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_JobPosting *__fastcall idProp_JobPosting::CastTo(idProp_JobPosting *c)
{
  idProp_JobPosting *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_JobPosting::Type.typeNum || (v4 = v2 <= idProp_JobPosting::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idCombiner@@SAPAVidClass@@XZ
// EA  : 0x82548380
// RVA : 0x00548380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCombiner *__fastcall idCombiner::CreateInstance()
{
  idCombiner *v0; // r3

  v0 = (idCombiner *)idMem::AllocWithLocation(
                       this: &mem,
                       location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                       size: 0x398u,
                       tag: TAG_NEW,
                       zeroBuffer: false,
                       align: ALIGN_16,
                       heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idCombiner::idCombiner(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533824
// EA  : 0x825483E8
// RVA : 0x005483E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533824(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idCombiner@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82548410
// RVA : 0x00548410
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCombiner *__fastcall idCombiner::CastTo(idCombiner *c)
{
  idCombiner *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idCombiner::Type.typeNum || (v4 = v2 <= idCombiner::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idCombiner@@SA_NPBVidClass@@@Z
// EA  : 0x825484A8
// RVA : 0x005484A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idCombiner::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idCombiner::Type.typeNum || (v3 = v1 <= idCombiner::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idProp_MissionPin@@SAPAVidClass@@XZ
// EA  : 0x82548528
// RVA : 0x00548528
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_MissionPin *__fastcall idProp_MissionPin::CreateInstance()
{
  idProp_MissionPin *v0; // r3

  v0 = (idProp_MissionPin *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x3F0u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_MissionPin::idProp_MissionPin(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$533913
// EA  : 0x82548590
// RVA : 0x00548590
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_533913(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProp_MissionPin@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825485B8
// RVA : 0x005485B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_MissionPin *__fastcall idProp_MissionPin::CastTo(idProp_MissionPin *c)
{
  idProp_MissionPin *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_MissionPin::Type.typeNum || (v4 = v2 <= idProp_MissionPin::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idProp_BatteryChargePoint@@SAPAVidClass@@XZ
// EA  : 0x82548658
// RVA : 0x00548658
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_BatteryChargePoint *__fastcall idProp_BatteryChargePoint::CreateInstance()
{
  idProp_BatteryChargePoint *v0; // r3

  v0 = (idProp_BatteryChargePoint *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x1520u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_BatteryChargePoint::idProp_BatteryChargePoint(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$534002
// EA  : 0x825486C0
// RVA : 0x005486C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534002(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idProp_BatteryChargePoint@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825486E8
// RVA : 0x005486E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_BatteryChargePoint *__fastcall idProp_BatteryChargePoint::CastTo(idProp_BatteryChargePoint *c)
{
  idProp_BatteryChargePoint *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idProp_BatteryChargePoint::Type.typeNum
      || (v4 = v2 <= idProp_BatteryChargePoint::Type.lastChild, v3 = 1, !v4) )
    {
      v3 = 0;
    }
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idProp_BatteryChargePoint@@SA_NPBVidClass@@@Z
// EA  : 0x82548780
// RVA : 0x00548780
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idProp_BatteryChargePoint::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idProp_BatteryChargePoint::Type.typeNum
    || (v3 = v1 <= idProp_BatteryChargePoint::Type.lastChild, v2 = 1, !v3) )
  {
    v2 = 0;
  }
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idProp_BatteryChargePoint@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825487F8
// RVA : 0x005487F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_BatteryChargePoint *__fastcall idProp_BatteryChargePoint::CallEvent(
        idProp_BatteryChargePoint *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
    (*(void (__fastcall **)(idProp_BatteryChargePoint *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  else
    idProp_ContinuallyUsed::CallEvent(this, result, event, args);
  return this;
}


// ========================================================================
// ?RespondsTo@idProp_BatteryChargePoint@@UBA_NABVidEventDef@@@Z
// EA  : 0x82548878
// RVA : 0x00548878
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idProp_BatteryChargePoint::RespondsTo(idProp_BatteryChargePoint *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idProp_BatteryChargePoint *))this->InternalRespondsTo)(a1: this) != 0
      || idProp_ContinuallyUsed::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idDoor_Laser@@SAPAVidClass@@XZ
// EA  : 0x825488E8
// RVA : 0x005488E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDoor_Laser *__fastcall idDoor_Laser::CreateInstance()
{
  idDoor_Laser *v0; // r3

  v0 = (idDoor_Laser *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x398u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idDoor_Laser::idDoor_Laser(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$534104
// EA  : 0x82548950
// RVA : 0x00548950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534104(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idDoor_Laser@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82548978
// RVA : 0x00548978
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDoor_Laser *__fastcall idDoor_Laser::CallEvent(
        idDoor_Laser *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idEntity *Entity; // r3
  char v11; // [sp+50h] [-30h] BYREF
  char v12; // [sp+51h] [-2Fh] BYREF
  char v13; // [sp+52h] [-2Eh] BYREF
  char v14; // [sp+53h] [-2Dh] BYREF
  char v15; // [sp+54h] [-2Ch] BYREF
  char v16; // [sp+55h] [-2Bh] BYREF
  char v17; // [sp+56h] [-2Ah] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idDoor_Laser *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum > 615 )
  {
    switch ( eventnum )
    {
      case 616:
        idDoor_Laser::Event_Disable(this: (idDoor_Laser *)&v17, result);
        goto LABEL_19;
      case 623:
        idEventArg::GetEntity(this: args);
        idDoor_Laser::Event_Disable(this: (idDoor_Laser *)&v16, result);
        goto LABEL_19;
      case 624:
        idEventArg::GetEntity(this: args);
        idDoor_Laser::Event_Close(this: (idDoor_Laser *)&v15, result);
        goto LABEL_19;
      default:
        break;
    }
    goto LABEL_15;
  }
  switch ( eventnum )
  {
    case 615:
      idDoor_Laser::Event_Close(this: (idDoor_Laser *)&v14, result);
      goto LABEL_19;
    case 71:
      Entity = (idEntity *)idEventArg::GetEntity(this: args);
      idDoor_Laser::Event_Activate(this: (idDoor_Laser *)&v13, result, dummy: Entity);
      goto LABEL_19;
    case 106:
      idDoor_Laser::Event_Disable(this: (idDoor_Laser *)&v12, result);
      goto LABEL_19;
    default:
      break;
  }
  if ( eventnum != 107 )
  {
LABEL_15:
    idVolume::CallEvent(this, result, event, args);
    return this;
  }
  idDoor_Laser::Event_Close(this: (idDoor_Laser *)&v11, result);
LABEL_19:
  HIBYTE(this->__vftable) = 0;
  this->listenerList = nullptr;
  return this;
}


// ========================================================================
// ?RespondsTo@idDoor_Laser@@UBA_NABVidEventDef@@@Z
// EA  : 0x82548AF0
// RVA : 0x00548AF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idDoor_Laser::RespondsTo(idDoor_Laser *this, const idEventDef *event)
{
  int eventnum; // r11
  bool v6; // cr57

  if ( ((unsigned __int8 (__fastcall *)(idDoor_Laser *))this->InternalRespondsTo)(a1: this) != 0 )
    return true;
  eventnum = event->eventnum;
  if ( eventnum > 616 )
  {
    if ( eventnum >= 623 )
    {
      v6 = eventnum > 624;
LABEL_10:
      if ( v6 )
        return idVolume::RespondsTo(this, event);
      return true;
    }
  }
  else
  {
    if ( eventnum >= 615 || eventnum == 71 )
      return true;
    if ( eventnum > 105 )
    {
      v6 = eventnum > 107;
      goto LABEL_10;
    }
  }
  return idVolume::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idEntityFx@@SAPAVidClass@@XZ
// EA  : 0x82548B98
// RVA : 0x00548B98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntityFx *__fastcall idEntityFx::CreateInstance()
{
  idEntityFx *v0; // r3

  v0 = (idEntityFx *)idMem::AllocWithLocation(
                       this: &mem,
                       location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                       size: 0x388u,
                       tag: TAG_NEW,
                       zeroBuffer: false,
                       align: ALIGN_16,
                       heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idEntityFx::idEntityFx(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$534340
// EA  : 0x82548C00
// RVA : 0x00548C00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534340(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idEntityFx@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82548C28
// RVA : 0x00548C28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntityFx *__fastcall idEntityFx::CastTo(idEntityFx *c)
{
  idEntityFx *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idEntityFx::Type.typeNum || (v4 = v2 <= idEntityFx::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idEntityFx@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82548CC0
// RVA : 0x00548CC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntityFx *__fastcall idEntityFx::CallEvent(
        idEntityFx *this,
        eventVoid *result,
        const idEventDef *event,
        const idEventArg *args)
{
  int eventnum; // r11
  char v10; // [sp+50h] [-30h] BYREF
  char v11; // [sp+51h] [-2Fh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idEntityFx *, eventVoid *, const idEventDef *, const idEventArg *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 282 )
  {
    idEntityFx::Event_StartFX(this: (idEntityFx *)&v11, result, condition: (fxCondition_t)args->value.i);
  }
  else
  {
    if ( eventnum != 283 )
    {
      idDynamicEntity::CallEvent(this, (idEventArg *)result, event, args);
      return this;
    }
    idEntityFx::Event_StopFX(this: (idEntityFx *)&v10, result, condition: (fxCondition_t)args->value.i);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?RespondsTo@idEntityFx@@UBA_NABVidEventDef@@@Z
// EA  : 0x82548D98
// RVA : 0x00548D98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idEntityFx::RespondsTo(idEntityFx *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idEntityFx *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 282 && eventnum <= 283
      || idDynamicEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTest_AimPoint@@SAPAVidClass@@XZ
// EA  : 0x82548E18
// RVA : 0x00548E18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTest_AimPoint *__fastcall idTest_AimPoint::CreateInstance()
{
  idTest_AimPoint *v0; // r3

  v0 = (idTest_AimPoint *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x360u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTest_AimPoint::idTest_AimPoint(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$534476
// EA  : 0x82548E80
// RVA : 0x00548E80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534476(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTest_MetaData_Cylinder2@@SAPAVidClass@@XZ
// EA  : 0x82548EB0
// RVA : 0x00548EB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idTest_MetaData_Cylinder2::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1->__vftable = (idEntity_vtbl *)&idTest_MetaData_Cylinder2::`vftable';
  *(float *)&v1[1].__vftable = 128.0;
  *(float *)&v1[1].listenerList = 96.0;
  return v1;
}


// ========================================================================
// __unwind$534697
// EA  : 0x82548F4C
// RVA : 0x00548F4C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534697(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPanzerHund@@SAPAVidClass@@XZ
// EA  : 0x82548F80
// RVA : 0x00548F80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPanzerHund::CreateInstance()
{
  idAnimated_AnimWeb *v0; // r3
  _DWORD *v1; // r30

  v0 = (idAnimated_AnimWeb *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x1C28u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idAnimated_AnimWeb::idAnimated_AnimWeb(this: v0);
  *v1 = &idPanzerHund::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$534926
// EA  : 0x82549004
// RVA : 0x00549004
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_534926(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idPanzerHund@@UBA_NABVidEventDef@@@Z
// EA  : 0x82549090
// RVA : 0x00549090
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idPanzerHund::RespondsTo(idPanzerHund *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idPanzerHund *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 677 && eventnum <= 678
      || idAnimated_AnimWeb::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@mgFuncSaveGame@@SAPAVidClass@@XZ
// EA  : 0x82549110
// RVA : 0x00549110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

mgFuncSaveGame *__fastcall mgFuncSaveGame::CreateInstance()
{
  mgFuncSaveGame *v0; // r3

  v0 = (mgFuncSaveGame *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x328u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return mgFuncSaveGame::mgFuncSaveGame(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$535044
// EA  : 0x82549178
// RVA : 0x00549178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535044(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@mgFunc_CaptureFrames@@SAPAVidClass@@XZ
// EA  : 0x825491A8
// RVA : 0x005491A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

mgFunc_CaptureFrames *__fastcall mgFunc_CaptureFrames::CreateInstance()
{
  mgFunc_CaptureFrames *v0; // r3

  v0 = (mgFunc_CaptureFrames *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x358u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return mgFunc_CaptureFrames::mgFunc_CaptureFrames(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$535133
// EA  : 0x82549210
// RVA : 0x00549210
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535133(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@mgFunc_CaptureFrames@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82549238
// RVA : 0x00549238
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

mgFunc_CaptureFrames *__fastcall mgFunc_CaptureFrames::CallEvent(
        mgFunc_CaptureFrames *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  char v9; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(mgFunc_CaptureFrames *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 377 )
  {
    mgFunc_CaptureFrames::Event_Deactivate(this: (mgFunc_CaptureFrames *)&v9, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CreateInstance@idExplodable@@SAPAVidClass@@XZ
// EA  : 0x825492F8
// RVA : 0x005492F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idExplodable *__fastcall idExplodable::CreateInstance()
{
  idExplodable *v0; // r3

  v0 = (idExplodable *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x368u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idExplodable::idExplodable(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$535252
// EA  : 0x82549360
// RVA : 0x00549360
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535252(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?IsTypeOf@idExplodable@@SA_NPBVidClass@@@Z
// EA  : 0x82549388
// RVA : 0x00549388
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idExplodable::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idExplodable::Type.typeNum || (v3 = v1 <= idExplodable::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idExplodable@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82549400
// RVA : 0x00549400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idExplodable *__fastcall idExplodable::CallEvent(
        idExplodable *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  char v9; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idExplodable *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 681 )
  {
    idExplodable::Event_DisablePhysics(this: (idExplodable *)&v9, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idExplodable@@UBA_NABVidEventDef@@@Z
// EA  : 0x825494B8
// RVA : 0x005494B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idExplodable::RespondsTo(idExplodable *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idExplodable *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 681
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idAIBehaviors@@SAPAVidClass@@XZ
// EA  : 0x82549530
// RVA : 0x00549530
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIBehaviors *__fastcall idAIBehaviors::CreateInstance()
{
  idAIBehaviors *v0; // r3

  v0 = (idAIBehaviors *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x20u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIBehaviors::idAIBehaviors(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$535371
// EA  : 0x82549598
// RVA : 0x00549598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535371(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAIActionFSM@@SAPAVidClass@@XZ
// EA  : 0x825495C8
// RVA : 0x005495C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIActionFSM *__fastcall idAIActionFSM::CreateInstance()
{
  idAIActionFSM *v0; // r3

  v0 = (idAIActionFSM *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0xA4u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIActionFSM::idAIActionFSM(this: v0, name: &byte_8200D768);
  else
    return nullptr;
}


// ========================================================================
// __unwind$535460
// EA  : 0x82549638
// RVA : 0x00549638
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535460(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAIActionFSM@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82549660
// RVA : 0x00549660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIActionFSM *__fastcall idAIActionFSM::CastTo(idAIActionFSM *c)
{
  idAIActionFSM *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAIActionFSM::Type.typeNum || (v4 = v2 <= idAIActionFSM::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@Shared_UnhandledError@@SAPAVidClass@@XZ
// EA  : 0x82549700
// RVA : 0x00549700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall Shared_UnhandledError::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &Shared_UnhandledError::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$535549
// EA  : 0x82549788
// RVA : 0x00549788
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535549(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@SEARCH_MoveToPoint@@SAPAVidClass@@XZ
// EA  : 0x825497B8
// RVA : 0x005497B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall SEARCH_MoveToPoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &SEARCH_MoveToPoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$535656
// EA  : 0x82549840
// RVA : 0x00549840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535656(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idSearch_Intro@@SAPAVidClass@@XZ
// EA  : 0x82549870
// RVA : 0x00549870
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idSearch_Intro::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idSearch_Intro::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idSearch_Intro::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$535763
// EA  : 0x82549904
// RVA : 0x00549904
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535763(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@SEARCH_MoveToPointDone@@SAPAVidClass@@XZ
// EA  : 0x82549938
// RVA : 0x00549938
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall SEARCH_MoveToPointDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &SEARCH_MoveToPointDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$535862
// EA  : 0x825499C0
// RVA : 0x005499C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535862(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@SEARCH_PerformAction@@SAPAVidClass@@XZ
// EA  : 0x825499F0
// RVA : 0x005499F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall SEARCH_PerformAction::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &SEARCH_PerformAction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$535969
// EA  : 0x82549A78
// RVA : 0x00549A78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_535969(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idSearch_PerformAction@@SAPAVidClass@@XZ
// EA  : 0x82549AA8
// RVA : 0x00549AA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idSearch_PerformAction::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idSearch_PerformAction::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idSearch_PerformAction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536076
// EA  : 0x82549B3C
// RVA : 0x00549B3C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536076(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_VOFinished@@SAPAVidClass@@XZ
// EA  : 0x82549B70
// RVA : 0x00549B70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_VOFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_VOFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536175
// EA  : 0x82549BF8
// RVA : 0x00549BF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536175(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_VOFinished_With_Delay@@SAPAVidClass@@XZ
// EA  : 0x82549C28
// RVA : 0x00549C28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_VOFinished_With_Delay::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_VOFinished_With_Delay::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536282
// EA  : 0x82549CB0
// RVA : 0x00549CB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536282(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_ShouldProcessInteraction@@SAPAVidClass@@XZ
// EA  : 0x82549CE0
// RVA : 0x00549CE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_ShouldProcessInteraction::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_ShouldProcessInteraction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536389
// EA  : 0x82549D68
// RVA : 0x00549D68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536389(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_StartInteraction@@SAPAVidClass@@XZ
// EA  : 0x82549D98
// RVA : 0x00549D98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_StartInteraction::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_StartInteraction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536496
// EA  : 0x82549E20
// RVA : 0x00549E20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536496(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_MoveToInteractionPoint@@SAPAVidClass@@XZ
// EA  : 0x82549E50
// RVA : 0x00549E50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_MoveToInteractionPoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_MoveToInteractionPoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536603
// EA  : 0x82549ED8
// RVA : 0x00549ED8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536603(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_ShouldDeliverJobCompleteVO_EARLY@@SAPAVidClass@@XZ
// EA  : 0x82549F08
// RVA : 0x00549F08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_ShouldDeliverJobCompleteVO_EARLY::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_ShouldDeliverJobCompleteVO_EARLY::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536710
// EA  : 0x82549F90
// RVA : 0x00549F90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536710(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_ProcessEmptyInteraction@@SAPAVidClass@@XZ
// EA  : 0x82549FC0
// RVA : 0x00549FC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_ProcessEmptyInteraction::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(
    this: v0,
    stateType: &idPlayerInteract_ProcessEmptyInteraction::Type,
    childFSMType: nullptr,
    flags: 0);
  *v1 = &idPlayerInteract_ProcessEmptyInteraction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536817
// EA  : 0x8254A054
// RVA : 0x0054A054
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536817(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_ShouldDeliverJobFailedVO@@SAPAVidClass@@XZ
// EA  : 0x8254A088
// RVA : 0x0054A088
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_ShouldDeliverJobFailedVO::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_ShouldDeliverJobFailedVO::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$536916
// EA  : 0x8254A110
// RVA : 0x0054A110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_536916(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_ProcessInteraction@@SAPAVidClass@@XZ
// EA  : 0x8254A140
// RVA : 0x0054A140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_ProcessInteraction::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idPlayerInteract_ProcessInteraction::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idPlayerInteract_ProcessInteraction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537023
// EA  : 0x8254A1D4
// RVA : 0x0054A1D4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537023(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_NonJobDeliverJobCompleteVO@@SAPAVidClass@@XZ
// EA  : 0x8254A208
// RVA : 0x0054A208
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_NonJobDeliverJobCompleteVO::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(
    this: v0,
    stateType: &idPlayerInteract_NonJobDeliverJobCompleteVO::Type,
    childFSMType: nullptr,
    flags: 0);
  *v1 = &idPlayerInteract_NonJobDeliverJobCompleteVO::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537122
// EA  : 0x8254A29C
// RVA : 0x0054A29C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537122(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_DeliverJobFailedVO@@SAPAVidClass@@XZ
// EA  : 0x8254A2D0
// RVA : 0x0054A2D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_DeliverJobFailedVO::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idPlayerInteract_DeliverJobFailedVO::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idPlayerInteract_DeliverJobFailedVO::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537221
// EA  : 0x8254A364
// RVA : 0x0054A364
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537221(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_WaitForJobChoice@@SAPAVidClass@@XZ
// EA  : 0x8254A398
// RVA : 0x0054A398
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_WaitForJobChoice::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idPlayerInteract_WaitForJobChoice::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idPlayerInteract_WaitForJobChoice::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537320
// EA  : 0x8254A42C
// RVA : 0x0054A42C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537320(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_PlayerLeft@@SAPAVidClass@@XZ
// EA  : 0x8254A460
// RVA : 0x0054A460
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_PlayerLeft::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idPlayerInteract_PlayerLeft::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idPlayerInteract_PlayerLeft::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537419
// EA  : 0x8254A4F4
// RVA : 0x0054A4F4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537419(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idPlayerInteract_MerchantInteractLoop@@SAPAVidClass@@XZ
// EA  : 0x8254A528
// RVA : 0x0054A528
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idPlayerInteract_MerchantInteractLoop::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idPlayerInteract_MerchantInteractLoop::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idPlayerInteract_MerchantInteractLoop::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537518
// EA  : 0x8254A5BC
// RVA : 0x0054A5BC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537518(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@PCI_WaitFinished@@SAPAVidClass@@XZ
// EA  : 0x8254A5F0
// RVA : 0x0054A5F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall PCI_WaitFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &PCI_WaitFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537617
// EA  : 0x8254A678
// RVA : 0x0054A678
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537617(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ITF_Track@@SAPAVidClass@@XZ
// EA  : 0x8254A6A8
// RVA : 0x0054A6A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ITF_Track::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ITF_Track::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537724
// EA  : 0x8254A730
// RVA : 0x0054A730
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537724(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idIdleTrackFriendly_Track@@SAPAVidClass@@XZ
// EA  : 0x8254A760
// RVA : 0x0054A760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idIdleTrackFriendly_Track::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idIdleTrackFriendly_Track::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idIdleTrackFriendly_Track::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537831
// EA  : 0x8254A7F4
// RVA : 0x0054A7F4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537831(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@FOLLOWFRIENDLY_NoTarget@@SAPAVidClass@@XZ
// EA  : 0x8254A828
// RVA : 0x0054A828
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall FOLLOWFRIENDLY_NoTarget::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 500);
  *v1 = &FOLLOWFRIENDLY_NoTarget::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$537930
// EA  : 0x8254A8B0
// RVA : 0x0054A8B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_537930(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@FOLLOWFRIENDLY_PathBlocked@@SAPAVidClass@@XZ
// EA  : 0x8254A8E0
// RVA : 0x0054A8E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall FOLLOWFRIENDLY_PathBlocked::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &FOLLOWFRIENDLY_PathBlocked::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538037
// EA  : 0x8254A968
// RVA : 0x0054A968
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538037(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idFollowFriendly_Default@@SAPAVidClass@@XZ
// EA  : 0x8254A998
// RVA : 0x0054A998
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idFollowFriendly_Default::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idFollowFriendly_Default::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idFollowFriendly_Default::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538144
// EA  : 0x8254AA2C
// RVA : 0x0054AA2C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538144(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idFollowFriendly_MoveToTarget@@SAPAVidClass@@XZ
// EA  : 0x8254AA60
// RVA : 0x0054AA60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idFollowFriendly_MoveToTarget::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idFollowFriendly_MoveToTarget::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idFollowFriendly_MoveToTarget::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538243
// EA  : 0x8254AAF4
// RVA : 0x0054AAF4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538243(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idFollowFriendly_BackAwayBlocked@@SAPAVidClass@@XZ
// EA  : 0x8254AB28
// RVA : 0x0054AB28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idFollowFriendly_BackAwayBlocked::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idFollowFriendly_BackAwayBlocked::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idFollowFriendly_BackAwayBlocked::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538342
// EA  : 0x8254ABBC
// RVA : 0x0054ABBC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538342(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_HasFollowPath@@SAPAVidClass@@XZ
// EA  : 0x8254ABF0
// RVA : 0x0054ABF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_HasFollowPath::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_HasFollowPath::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538441
// EA  : 0x8254AC78
// RVA : 0x0054AC78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538441(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_ShouldInvestigateBody@@SAPAVidClass@@XZ
// EA  : 0x8254ACA8
// RVA : 0x0054ACA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_ShouldInvestigateBody::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_ShouldInvestigateBody::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538548
// EA  : 0x8254AD30
// RVA : 0x0054AD30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538548(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_ShouldReturnToSpawnPos@@SAPAVidClass@@XZ
// EA  : 0x8254AD60
// RVA : 0x0054AD60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_ShouldReturnToSpawnPos::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_ShouldReturnToSpawnPos::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538655
// EA  : 0x8254ADE8
// RVA : 0x0054ADE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538655(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_FollowFriendlyDone@@SAPAVidClass@@XZ
// EA  : 0x8254AE18
// RVA : 0x0054AE18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_FollowFriendlyDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_FollowFriendlyDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538762
// EA  : 0x8254AEA0
// RVA : 0x0054AEA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538762(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idRelaxed_FollowPath@@SAPAVidClass@@XZ
// EA  : 0x8254AED0
// RVA : 0x0054AED0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idRelaxed_FollowPath::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idRelaxed_FollowPath::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idRelaxed_FollowPath::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538869
// EA  : 0x8254AF64
// RVA : 0x0054AF64
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538869(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_PlugAnimDone@@SAPAVidClass@@XZ
// EA  : 0x8254AF98
// RVA : 0x0054AF98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_PlugAnimDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_PlugAnimDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$538968
// EA  : 0x8254B020
// RVA : 0x0054B020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_538968(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_PlayerInteractDone@@SAPAVidClass@@XZ
// EA  : 0x8254B050
// RVA : 0x0054B050
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_PlayerInteractDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_PlayerInteractDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539075
// EA  : 0x8254B0D8
// RVA : 0x0054B0D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539075(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_InvestigateBodyDone@@SAPAVidClass@@XZ
// EA  : 0x8254B108
// RVA : 0x0054B108
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_InvestigateBodyDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_InvestigateBodyDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539182
// EA  : 0x8254B190
// RVA : 0x0054B190
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539182(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RELAXED_WaitExpired@@SAPAVidClass@@XZ
// EA  : 0x8254B1C0
// RVA : 0x0054B1C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RELAXED_WaitExpired::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RELAXED_WaitExpired::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539289
// EA  : 0x8254B248
// RVA : 0x0054B248
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539289(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@MELEE_NoTarget@@SAPAVidClass@@XZ
// EA  : 0x8254B278
// RVA : 0x0054B278
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall MELEE_NoTarget::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &MELEE_NoTarget::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539396
// EA  : 0x8254B300
// RVA : 0x0054B300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539396(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idMelee_Default@@SAPAVidClass@@XZ
// EA  : 0x8254B330
// RVA : 0x0054B330
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idMelee_Default::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idMelee_Default::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idMelee_Default::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539503
// EA  : 0x8254B3C4
// RVA : 0x0054B3C4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539503(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@MELEE_RepositionDone@@SAPAVidClass@@XZ
// EA  : 0x8254B3F8
// RVA : 0x0054B3F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall MELEE_RepositionDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &MELEE_RepositionDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539602
// EA  : 0x8254B480
// RVA : 0x0054B480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539602(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_ReloadWeaponSoon@@SAPAVidClass@@XZ
// EA  : 0x8254B4B0
// RVA : 0x0054B4B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_ReloadWeaponSoon::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_ReloadWeaponSoon::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539709
// EA  : 0x8254B538
// RVA : 0x0054B538
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539709(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_AvoidGrenade@@SAPAVidClass@@XZ
// EA  : 0x8254B568
// RVA : 0x0054B568
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_AvoidGrenade::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_AvoidGrenade::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539816
// EA  : 0x8254B5F0
// RVA : 0x0054B5F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539816(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_AvoidAim@@SAPAVidClass@@XZ
// EA  : 0x8254B620
// RVA : 0x0054B620
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_AvoidAim::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_AvoidAim::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$539923
// EA  : 0x8254B6A8
// RVA : 0x0054B6A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_539923(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInCover_Default@@SAPAVidClass@@XZ
// EA  : 0x8254B6D8
// RVA : 0x0054B6D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idInCover_Default::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idInCover_Default::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idInCover_Default::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540030
// EA  : 0x8254B76C
// RVA : 0x0054B76C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540030(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_EnemyClose@@SAPAVidClass@@XZ
// EA  : 0x8254B7A0
// RVA : 0x0054B7A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_EnemyClose::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_EnemyClose::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540129
// EA  : 0x8254B828
// RVA : 0x0054B828
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540129(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_PossiblyThrowGrenade@@SAPAVidClass@@XZ
// EA  : 0x8254B858
// RVA : 0x0054B858
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_PossiblyThrowGrenade::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_PossiblyThrowGrenade::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540236
// EA  : 0x8254B8E0
// RVA : 0x0054B8E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540236(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInCover_LeanIn@@SAPAVidClass@@XZ
// EA  : 0x8254B910
// RVA : 0x0054B910
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idInCover_LeanIn::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idInCover_LeanIn::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idInCover_LeanIn::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540343
// EA  : 0x8254B9A4
// RVA : 0x0054B9A4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540343(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_CoverExpiredFinished@@SAPAVidClass@@XZ
// EA  : 0x8254B9D8
// RVA : 0x0054B9D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_CoverExpiredFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_CoverExpiredFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540442
// EA  : 0x8254BA60
// RVA : 0x0054BA60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540442(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_EnemyCloseFinished@@SAPAVidClass@@XZ
// EA  : 0x8254BA90
// RVA : 0x0054BA90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_EnemyCloseFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_EnemyCloseFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540549
// EA  : 0x8254BB18
// RVA : 0x0054BB18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540549(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_NoContactFinished@@SAPAVidClass@@XZ
// EA  : 0x8254BB48
// RVA : 0x0054BB48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_NoContactFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_NoContactFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540656
// EA  : 0x8254BBD0
// RVA : 0x0054BBD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540656(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@IC_ThrowFinished@@SAPAVidClass@@XZ
// EA  : 0x8254BC00
// RVA : 0x0054BC00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall IC_ThrowFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &IC_ThrowFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540763
// EA  : 0x8254BC88
// RVA : 0x0054BC88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540763(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInCover_Hide@@SAPAVidClass@@XZ
// EA  : 0x8254BCB8
// RVA : 0x0054BCB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idInCover_Hide::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idInCover_Hide::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idInCover_Hide::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540870
// EA  : 0x8254BD4C
// RVA : 0x0054BD4C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540870(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInCover_Blindfire@@SAPAVidClass@@XZ
// EA  : 0x8254BD80
// RVA : 0x0054BD80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idInCover_Blindfire::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idInCover_Blindfire::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idInCover_Blindfire::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$540969
// EA  : 0x8254BE14
// RVA : 0x0054BE14
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_540969(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@TC_ReachedCover@@SAPAVidClass@@XZ
// EA  : 0x8254BE48
// RVA : 0x0054BE48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TC_ReachedCover::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TC_ReachedCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541068
// EA  : 0x8254BED0
// RVA : 0x0054BED0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541068(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@TC_MoveFailedPathingFailed@@SAPAVidClass@@XZ
// EA  : 0x8254BF00
// RVA : 0x0054BF00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TC_MoveFailedPathingFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TC_MoveFailedPathingFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541175
// EA  : 0x8254BF88
// RVA : 0x0054BF88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541175(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@TC_ShouldDodge@@SAPAVidClass@@XZ
// EA  : 0x8254BFB8
// RVA : 0x0054BFB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TC_ShouldDodge::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TC_ShouldDodge::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541282
// EA  : 0x8254C040
// RVA : 0x0054C040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541282(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTakeCover_Dodge@@SAPAVidClass@@XZ
// EA  : 0x8254C070
// RVA : 0x0054C070
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTakeCover_Dodge::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idTakeCover_Dodge::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idTakeCover_Dodge::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541389
// EA  : 0x8254C104
// RVA : 0x0054C104
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541389(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@TC_StartOpenCombat@@SAPAVidClass@@XZ
// EA  : 0x8254C138
// RVA : 0x0054C138
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TC_StartOpenCombat::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TC_StartOpenCombat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541488
// EA  : 0x8254C1C0
// RVA : 0x0054C1C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541488(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTakeCover_InCover@@SAPAVidClass@@XZ
// EA  : 0x8254C1F0
// RVA : 0x0054C1F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTakeCover_InCover::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idTakeCover_InCover::Type, childFSMType: &idInCoverFSM::Type, flags: 0);
  *v1 = &idTakeCover_InCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541595
// EA  : 0x8254C288
// RVA : 0x0054C288
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541595(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ShouldMoveToSightEnemy@@SAPAVidClass@@XZ
// EA  : 0x8254C2B8
// RVA : 0x0054C2B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ShouldMoveToSightEnemy::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ShouldMoveToSightEnemy::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541694
// EA  : 0x8254C340
// RVA : 0x0054C340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541694(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_MoveFailed@@SAPAVidClass@@XZ
// EA  : 0x8254C370
// RVA : 0x0054C370
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_MoveFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_MoveFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541801
// EA  : 0x8254C3F8
// RVA : 0x0054C3F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541801(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ReachedAttackPos@@SAPAVidClass@@XZ
// EA  : 0x8254C428
// RVA : 0x0054C428
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ReachedAttackPos::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ReachedAttackPos::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$541908
// EA  : 0x8254C4B0
// RVA : 0x0054C4B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_541908(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ShouldShoot@@SAPAVidClass@@XZ
// EA  : 0x8254C4E0
// RVA : 0x0054C4E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ShouldShoot::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ShouldShoot::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542015
// EA  : 0x8254C568
// RVA : 0x0054C568
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542015(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_IsCrouched@@SAPAVidClass@@XZ
// EA  : 0x8254C598
// RVA : 0x0054C598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_IsCrouched::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_IsCrouched::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542122
// EA  : 0x8254C620
// RVA : 0x0054C620
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542122(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ShouldReloadEnemyOutOfAAS@@SAPAVidClass@@XZ
// EA  : 0x8254C650
// RVA : 0x0054C650
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ShouldReloadEnemyOutOfAAS::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ShouldReloadEnemyOutOfAAS::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542229
// EA  : 0x8254C6D8
// RVA : 0x0054C6D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542229(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_MoveTowardEnemy@@SAPAVidClass@@XZ
// EA  : 0x8254C708
// RVA : 0x0054C708
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_MoveTowardEnemy::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_MoveTowardEnemy::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_MoveTowardEnemy::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542336
// EA  : 0x8254C79C
// RVA : 0x0054C79C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542336(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ThrowProjectileFailed@@SAPAVidClass@@XZ
// EA  : 0x8254C7D0
// RVA : 0x0054C7D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ThrowProjectileFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ThrowProjectileFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542435
// EA  : 0x8254C858
// RVA : 0x0054C858
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542435(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_Shoot@@SAPAVidClass@@XZ
// EA  : 0x8254C888
// RVA : 0x0054C888
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_Shoot::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_Shoot::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_Shoot::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542542
// EA  : 0x8254C91C
// RVA : 0x0054C91C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542542(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ChargeMeleeNotIfRetreating@@SAPAVidClass@@XZ
// EA  : 0x8254C950
// RVA : 0x0054C950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ChargeMeleeNotIfRetreating::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ChargeMeleeNotIfRetreating::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542641
// EA  : 0x8254C9D8
// RVA : 0x0054C9D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542641(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_ShouldRage@@SAPAVidClass@@XZ
// EA  : 0x8254CA08
// RVA : 0x0054CA08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_ShouldRage::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_ShouldRage::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542748
// EA  : 0x8254CA90
// RVA : 0x0054CA90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542748(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_AttackMove@@SAPAVidClass@@XZ
// EA  : 0x8254CAC0
// RVA : 0x0054CAC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_AttackMove::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_AttackMove::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_AttackMove::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542855
// EA  : 0x8254CB54
// RVA : 0x0054CB54
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542855(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_LeapAttackDone@@SAPAVidClass@@XZ
// EA  : 0x8254CB88
// RVA : 0x0054CB88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_LeapAttackDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_LeapAttackDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$542954
// EA  : 0x8254CC10
// RVA : 0x0054CC10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_542954(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_TargetMoved@@SAPAVidClass@@XZ
// EA  : 0x8254CC40
// RVA : 0x0054CC40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_TargetMoved::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_TargetMoved::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543061
// EA  : 0x8254CCC8
// RVA : 0x0054CCC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543061(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_MoveToCoverAndReload@@SAPAVidClass@@XZ
// EA  : 0x8254CCF8
// RVA : 0x0054CCF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_MoveToCoverAndReload::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_MoveToCoverAndReload::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_MoveToCoverAndReload::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543168
// EA  : 0x8254CD8C
// RVA : 0x0054CD8C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543168(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_ReloadWeapon@@SAPAVidClass@@XZ
// EA  : 0x8254CDC0
// RVA : 0x0054CDC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_ReloadWeapon::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_ReloadWeapon::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_ReloadWeapon::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543267
// EA  : 0x8254CE54
// RVA : 0x0054CE54
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543267(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_Crouch@@SAPAVidClass@@XZ
// EA  : 0x8254CE88
// RVA : 0x0054CE88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_Crouch::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_Crouch::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_Crouch::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543366
// EA  : 0x8254CF1C
// RVA : 0x0054CF1C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543366(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_RageDone@@SAPAVidClass@@XZ
// EA  : 0x8254CF50
// RVA : 0x0054CF50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_RageDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_RageDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543465
// EA  : 0x8254CFD8
// RVA : 0x0054CFD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543465(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_MoveFailedDone@@SAPAVidClass@@XZ
// EA  : 0x8254D008
// RVA : 0x0054D008
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_MoveFailedDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_MoveFailedDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543572
// EA  : 0x8254D090
// RVA : 0x0054D090
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543572(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_MoveToRecharge@@SAPAVidClass@@XZ
// EA  : 0x8254D0C0
// RVA : 0x0054D0C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_MoveToRecharge::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_MoveToRecharge::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_MoveToRecharge::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543679
// EA  : 0x8254D154
// RVA : 0x0054D154
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543679(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_MoveToRoleHintNodeFailedObstructed@@SAPAVidClass@@XZ
// EA  : 0x8254D188
// RVA : 0x0054D188
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_MoveToRoleHintNodeFailedObstructed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_MoveToRoleHintNodeFailedObstructed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543778
// EA  : 0x8254D210
// RVA : 0x0054D210
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543778(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_MoveToRoleHintNodeFailedInvalidEntity@@SAPAVidClass@@XZ
// EA  : 0x8254D240
// RVA : 0x0054D240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_MoveToRoleHintNodeFailedInvalidEntity::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_MoveToRoleHintNodeFailedInvalidEntity::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543885
// EA  : 0x8254D2C8
// RVA : 0x0054D2C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543885(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@OC_MoveToRoleHintNodeFailedNoPathGroup@@SAPAVidClass@@XZ
// EA  : 0x8254D2F8
// RVA : 0x0054D2F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall OC_MoveToRoleHintNodeFailedNoPathGroup::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &OC_MoveToRoleHintNodeFailedNoPathGroup::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$543992
// EA  : 0x8254D380
// RVA : 0x0054D380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_543992(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idOpenCombat_MoveToRoleHintNode@@SAPAVidClass@@XZ
// EA  : 0x8254D3B0
// RVA : 0x0054D3B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idOpenCombat_MoveToRoleHintNode::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idOpenCombat_MoveToRoleHintNode::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idOpenCombat_MoveToRoleHintNode::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544099
// EA  : 0x8254D444
// RVA : 0x0054D444
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544099(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_AvoidEntityInvalid@@SAPAVidClass@@XZ
// EA  : 0x8254D478
// RVA : 0x0054D478
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_AvoidEntityInvalid::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_AvoidEntityInvalid::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544198
// EA  : 0x8254D500
// RVA : 0x0054D500
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544198(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_ShouldDive@@SAPAVidClass@@XZ
// EA  : 0x8254D530
// RVA : 0x0054D530
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_ShouldDive::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_ShouldDive::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544305
// EA  : 0x8254D5B8
// RVA : 0x0054D5B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544305(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_ShouldCower@@SAPAVidClass@@XZ
// EA  : 0x8254D5E8
// RVA : 0x0054D5E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_ShouldCower::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_ShouldCower::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544412
// EA  : 0x8254D670
// RVA : 0x0054D670
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544412(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_DiveDone@@SAPAVidClass@@XZ
// EA  : 0x8254D6A0
// RVA : 0x0054D6A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_DiveDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_DiveDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544519
// EA  : 0x8254D728
// RVA : 0x0054D728
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544519(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_ReachedCover@@SAPAVidClass@@XZ
// EA  : 0x8254D758
// RVA : 0x0054D758
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_ReachedCover::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_ReachedCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544626
// EA  : 0x8254D7E0
// RVA : 0x0054D7E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544626(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAvoid_WaitInCover@@SAPAVidClass@@XZ
// EA  : 0x8254D810
// RVA : 0x0054D810
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAvoid_WaitInCover::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAvoid_WaitInCover::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAvoid_WaitInCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544733
// EA  : 0x8254D8A4
// RVA : 0x0054D8A4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544733(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AVOID_KickedGrenade@@SAPAVidClass@@XZ
// EA  : 0x8254D8D8
// RVA : 0x0054D8D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AVOID_KickedGrenade::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AVOID_KickedGrenade::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544832
// EA  : 0x8254D960
// RVA : 0x0054D960
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544832(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAvoid_Cower@@SAPAVidClass@@XZ
// EA  : 0x8254D990
// RVA : 0x0054D990
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAvoid_Cower::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAvoid_Cower::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAvoid_Cower::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$544939
// EA  : 0x8254DA24
// RVA : 0x0054DA24
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_544939(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@BACKSTAND_MoveDone@@SAPAVidClass@@XZ
// EA  : 0x8254DA58
// RVA : 0x0054DA58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall BACKSTAND_MoveDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &BACKSTAND_MoveDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545038
// EA  : 0x8254DAE0
// RVA : 0x0054DAE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545038(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@BACKSTAND_ShouldMove@@SAPAVidClass@@XZ
// EA  : 0x8254DB10
// RVA : 0x0054DB10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall BACKSTAND_ShouldMove::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &BACKSTAND_ShouldMove::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545145
// EA  : 0x8254DB98
// RVA : 0x0054DB98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545145(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@BACKSTAND_ShouldRise@@SAPAVidClass@@XZ
// EA  : 0x8254DBC8
// RVA : 0x0054DBC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall BACKSTAND_ShouldRise::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &BACKSTAND_ShouldRise::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545252
// EA  : 0x8254DC50
// RVA : 0x0054DC50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545252(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBackStand_Moving@@SAPAVidClass@@XZ
// EA  : 0x8254DC80
// RVA : 0x0054DC80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idBackStand_Moving::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idBackStand_Moving::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idBackStand_Moving::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545359
// EA  : 0x8254DD14
// RVA : 0x0054DD14
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545359(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBackStand_Attacking@@SAPAVidClass@@XZ
// EA  : 0x8254DD48
// RVA : 0x0054DD48
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idBackStand_Attacking::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idBackStand_Attacking::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idBackStand_Attacking::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545458
// EA  : 0x8254DDDC
// RVA : 0x0054DDDC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545458(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_MoveFailed@@SAPAVidClass@@XZ
// EA  : 0x8254DE10
// RVA : 0x0054DE10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_MoveFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_MoveFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545557
// EA  : 0x8254DE98
// RVA : 0x0054DE98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545557(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_ShouldMelee@@SAPAVidClass@@XZ
// EA  : 0x8254DEC8
// RVA : 0x0054DEC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_ShouldMelee::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_ShouldMelee::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545664
// EA  : 0x8254DF50
// RVA : 0x0054DF50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545664(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_ShouldSneakUpOnEnemy@@SAPAVidClass@@XZ
// EA  : 0x8254DF80
// RVA : 0x0054DF80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_ShouldSneakUpOnEnemy::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_ShouldSneakUpOnEnemy::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545771
// EA  : 0x8254E008
// RVA : 0x0054E008
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545771(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAdvance_Wait@@SAPAVidClass@@XZ
// EA  : 0x8254E038
// RVA : 0x0054E038
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAdvance_Wait::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAdvance_Wait::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAdvance_Wait::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545878
// EA  : 0x8254E0CC
// RVA : 0x0054E0CC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545878(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_SideStepFailed@@SAPAVidClass@@XZ
// EA  : 0x8254E100
// RVA : 0x0054E100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_SideStepFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_SideStepFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$545977
// EA  : 0x8254E188
// RVA : 0x0054E188
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_545977(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAdvance_AttackMelee@@SAPAVidClass@@XZ
// EA  : 0x8254E1B8
// RVA : 0x0054E1B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAdvance_AttackMelee::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAdvance_AttackMelee::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAdvance_AttackMelee::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546084
// EA  : 0x8254E24C
// RVA : 0x0054E24C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546084(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_SneakUpOnEnemyFailed@@SAPAVidClass@@XZ
// EA  : 0x8254E280
// RVA : 0x0054E280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_SneakUpOnEnemyFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_SneakUpOnEnemyFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546183
// EA  : 0x8254E308
// RVA : 0x0054E308
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546183(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_ThrowProjectileDone@@SAPAVidClass@@XZ
// EA  : 0x8254E338
// RVA : 0x0054E338
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_ThrowProjectileDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_ThrowProjectileDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546290
// EA  : 0x8254E3C0
// RVA : 0x0054E3C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546290(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_PlayOverrideAnimDone@@SAPAVidClass@@XZ
// EA  : 0x8254E3F0
// RVA : 0x0054E3F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_PlayOverrideAnimDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_PlayOverrideAnimDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546397
// EA  : 0x8254E478
// RVA : 0x0054E478
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546397(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ADVANCE_BackStandDone@@SAPAVidClass@@XZ
// EA  : 0x8254E4A8
// RVA : 0x0054E4A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ADVANCE_BackStandDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ADVANCE_BackStandDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546504
// EA  : 0x8254E530
// RVA : 0x0054E530
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546504(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_ShouldSightEnemy@@SAPAVidClass@@XZ
// EA  : 0x8254E560
// RVA : 0x0054E560
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_ShouldSightEnemy::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_ShouldSightEnemy::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546611
// EA  : 0x8254E5E8
// RVA : 0x0054E5E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546611(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_OpenCombatShouldTakeCover@@SAPAVidClass@@XZ
// EA  : 0x8254E618
// RVA : 0x0054E618
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_OpenCombatShouldTakeCover::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_OpenCombatShouldTakeCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546718
// EA  : 0x8254E6A0
// RVA : 0x0054E6A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546718(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_NoValidCombatState@@SAPAVidClass@@XZ
// EA  : 0x8254E6D0
// RVA : 0x0054E6D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_NoValidCombatState::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_NoValidCombatState::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546825
// EA  : 0x8254E758
// RVA : 0x0054E758
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546825(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_RoleChanged@@SAPAVidClass@@XZ
// EA  : 0x8254E788
// RVA : 0x0054E788
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_RoleChanged::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_RoleChanged::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$546932
// EA  : 0x8254E810
// RVA : 0x0054E810
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_546932(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_ForceIdle@@SAPAVidClass@@XZ
// EA  : 0x8254E840
// RVA : 0x0054E840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_ForceIdle::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_ForceIdle::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombat_ForceIdle::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547039
// EA  : 0x8254E8D4
// RVA : 0x0054E8D4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547039(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_ForceMoveToEntityAgain@@SAPAVidClass@@XZ
// EA  : 0x8254E908
// RVA : 0x0054E908
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_ForceMoveToEntityAgain::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_ForceMoveToEntityAgain::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547138
// EA  : 0x8254E990
// RVA : 0x0054E990
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547138(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_PlayTraversal@@SAPAVidClass@@XZ
// EA  : 0x8254E9C0
// RVA : 0x0054E9C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_PlayTraversal::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_PlayTraversal::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombat_PlayTraversal::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547245
// EA  : 0x8254EA54
// RVA : 0x0054EA54
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547245(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_Retreat@@SAPAVidClass@@XZ
// EA  : 0x8254EA88
// RVA : 0x0054EA88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_Retreat::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_Retreat::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombat_Retreat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547344
// EA  : 0x8254EB1C
// RVA : 0x0054EB1C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547344(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_Advance@@SAPAVidClass@@XZ
// EA  : 0x8254EB50
// RVA : 0x0054EB50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_Advance::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_Advance::Type, childFSMType: &idAdvanceFSM::Type, flags: 0);
  *v1 = &idCombat_Advance::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547443
// EA  : 0x8254EBE8
// RVA : 0x0054EBE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547443(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_OpenCombatDone@@SAPAVidClass@@XZ
// EA  : 0x8254EC18
// RVA : 0x0054EC18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_OpenCombatDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_OpenCombatDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547542
// EA  : 0x8254ECA0
// RVA : 0x0054ECA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547542(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_AtTurret@@SAPAVidClass@@XZ
// EA  : 0x8254ECD0
// RVA : 0x0054ECD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_AtTurret::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_AtTurret::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547649
// EA  : 0x8254ED58
// RVA : 0x0054ED58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547649(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_UseTurret@@SAPAVidClass@@XZ
// EA  : 0x8254ED88
// RVA : 0x0054ED88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_UseTurret::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_UseTurret::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombat_UseTurret::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547756
// EA  : 0x8254EE1C
// RVA : 0x0054EE1C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547756(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_MoveToZiplineFailed@@SAPAVidClass@@XZ
// EA  : 0x8254EE50
// RVA : 0x0054EE50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_MoveToZiplineFailed::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_MoveToZiplineFailed::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547855
// EA  : 0x8254EED8
// RVA : 0x0054EED8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547855(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombat_MountZipline@@SAPAVidClass@@XZ
// EA  : 0x8254EF08
// RVA : 0x0054EF08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombat_MountZipline::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombat_MountZipline::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombat_MountZipline::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$547962
// EA  : 0x8254EF9C
// RVA : 0x0054EF9C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_547962(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_AtPlugAnim@@SAPAVidClass@@XZ
// EA  : 0x8254EFD0
// RVA : 0x0054EFD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_AtPlugAnim::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_AtPlugAnim::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548061
// EA  : 0x8254F058
// RVA : 0x0054F058
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548061(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@COMBAT_RetryCombat@@SAPAVidClass@@XZ
// EA  : 0x8254F088
// RVA : 0x0054F088
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall COMBAT_RetryCombat::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &COMBAT_RetryCombat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548168
// EA  : 0x8254F110
// RVA : 0x0054F110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548168(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@CombatScenePoint_Shall_MoveToScenePoint@@SAPAVidClass@@XZ
// EA  : 0x8254F140
// RVA : 0x0054F140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall CombatScenePoint_Shall_MoveToScenePoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &CombatScenePoint_Shall_MoveToScenePoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548275
// EA  : 0x8254F1C8
// RVA : 0x0054F1C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548275(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@CombatScenePoint_Shall_Enter_Turret@@SAPAVidClass@@XZ
// EA  : 0x8254F1F8
// RVA : 0x0054F1F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall CombatScenePoint_Shall_Enter_Turret::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &CombatScenePoint_Shall_Enter_Turret::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548382
// EA  : 0x8254F280
// RVA : 0x0054F280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548382(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@CombatScenePoint_Shall_ApplyRestriction@@SAPAVidClass@@XZ
// EA  : 0x8254F2B0
// RVA : 0x0054F2B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall CombatScenePoint_Shall_ApplyRestriction::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &CombatScenePoint_Shall_ApplyRestriction::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548489
// EA  : 0x8254F338
// RVA : 0x0054F338
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548489(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@CombatScenePoint_Shared_Finished@@SAPAVidClass@@XZ
// EA  : 0x8254F368
// RVA : 0x0054F368
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall CombatScenePoint_Shared_Finished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &CombatScenePoint_Shared_Finished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548596
// EA  : 0x8254F3F0
// RVA : 0x0054F3F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548596(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombatScenePoint_UseTurret@@SAPAVidClass@@XZ
// EA  : 0x8254F420
// RVA : 0x0054F420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombatScenePoint_UseTurret::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombatScenePoint_UseTurret::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombatScenePoint_UseTurret::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548703
// EA  : 0x8254F4B4
// RVA : 0x0054F4B4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548703(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombatScenePoint_Idle@@SAPAVidClass@@XZ
// EA  : 0x8254F4E8
// RVA : 0x0054F4E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombatScenePoint_Idle::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombatScenePoint_Idle::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombatScenePoint_Idle::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548802
// EA  : 0x8254F57C
// RVA : 0x0054F57C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548802(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombatScenePoint_Melee@@SAPAVidClass@@XZ
// EA  : 0x8254F5B0
// RVA : 0x0054F5B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idCombatScenePoint_Melee::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idCombatScenePoint_Melee::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idCombatScenePoint_Melee::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$548901
// EA  : 0x8254F644
// RVA : 0x0054F644
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_548901(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCombatScenePointFSM@@SAPAVidClass@@XZ
// EA  : 0x8254F678
// RVA : 0x0054F678
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCombatScenePointFSM *__fastcall idCombatScenePointFSM::CreateInstance()
{
  idCombatScenePointFSM *v0; // r3

  v0 = (idCombatScenePointFSM *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x220u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idCombatScenePointFSM::idCombatScenePointFSM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$549000
// EA  : 0x8254F6E0
// RVA : 0x0054F6E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549000(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idCombatScenePointFSM@@SAPAV1@PAVidClass@@@Z
// EA  : 0x8254F708
// RVA : 0x0054F708
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCombatScenePointFSM *__fastcall idCombatScenePointFSM::CastTo(idCombatScenePointFSM *c)
{
  idCombatScenePointFSM *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idCombatScenePointFSM::Type.typeNum || (v4 = v2 <= idCombatScenePointFSM::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@SearchScenePoint_Shall_LookAtScenePoint@@SAPAVidClass@@XZ
// EA  : 0x8254F7A8
// RVA : 0x0054F7A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall SearchScenePoint_Shall_LookAtScenePoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &SearchScenePoint_Shall_LookAtScenePoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549089
// EA  : 0x8254F830
// RVA : 0x0054F830
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549089(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idSearchScenePoint_StayAt@@SAPAVidClass@@XZ
// EA  : 0x8254F860
// RVA : 0x0054F860
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idSearchScenePoint_StayAt::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idSearchScenePoint_StayAt::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idSearchScenePoint_StayAt::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549196
// EA  : 0x8254F8F4
// RVA : 0x0054F8F4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549196(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RoamScenePoint_Shall_FindScenePoint@@SAPAVidClass@@XZ
// EA  : 0x8254F928
// RVA : 0x0054F928
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RoamScenePoint_Shall_FindScenePoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RoamScenePoint_Shall_FindScenePoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549295
// EA  : 0x8254F9B0
// RVA : 0x0054F9B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549295(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@RoamScenePoint_Shared_Finished@@SAPAVidClass@@XZ
// EA  : 0x8254F9E0
// RVA : 0x0054F9E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall RoamScenePoint_Shared_Finished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &RoamScenePoint_Shared_Finished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549402
// EA  : 0x8254FA68
// RVA : 0x0054FA68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549402(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idRoamScenePoint_StayAt@@SAPAVidClass@@XZ
// EA  : 0x8254FA98
// RVA : 0x0054FA98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idRoamScenePoint_StayAt::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idRoamScenePoint_StayAt::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idRoamScenePoint_StayAt::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549509
// EA  : 0x8254FB2C
// RVA : 0x0054FB2C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549509(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_CanUseSearchScenePoint@@SAPAVidClass@@XZ
// EA  : 0x8254FB60
// RVA : 0x0054FB60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_CanUseSearchScenePoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_CanUseSearchScenePoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549608
// EA  : 0x8254FBE8
// RVA : 0x0054FBE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549608(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_CanUseCombat@@SAPAVidClass@@XZ
// EA  : 0x8254FC18
// RVA : 0x0054FC18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_CanUseCombat::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_CanUseCombat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549715
// EA  : 0x8254FCA0
// RVA : 0x0054FCA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549715(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_NoEnemy@@SAPAVidClass@@XZ
// EA  : 0x8254FCD0
// RVA : 0x0054FCD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_NoEnemy::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_NoEnemy::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549822
// EA  : 0x8254FD58
// RVA : 0x0054FD58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549822(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_Default@@SAPAVidClass@@XZ
// EA  : 0x8254FD88
// RVA : 0x0054FD88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_Default::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_Default::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAlertCycle_Default::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$549929
// EA  : 0x8254FE1C
// RVA : 0x0054FE1C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_549929(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_ScriptCanUseCombat@@SAPAVidClass@@XZ
// EA  : 0x8254FE50
// RVA : 0x0054FE50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_ScriptCanUseCombat::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_ScriptCanUseCombat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550074
// EA  : 0x8254FED8
// RVA : 0x0054FED8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550074(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_ActionScript@@SAPAVidClass@@XZ
// EA  : 0x8254FF08
// RVA : 0x0054FF08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_ActionScript::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_ActionScript::Type, childFSMType: nullptr, flags: 0);
  *v1 = &idAlertCycle_ActionScript::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550181
// EA  : 0x8254FF9C
// RVA : 0x0054FF9C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550181(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_Combat@@SAPAVidClass@@XZ
// EA  : 0x8254FFD0
// RVA : 0x0054FFD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_Combat::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_Combat::Type, childFSMType: &idCombatFSM::Type, flags: 0);
  *v1 = &idAlertCycle_Combat::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550326
// EA  : 0x82550068
// RVA : 0x00550068
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550326(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_SearchFinished@@SAPAVidClass@@XZ
// EA  : 0x82550098
// RVA : 0x00550098
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_SearchFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_SearchFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550482
// EA  : 0x82550120
// RVA : 0x00550120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550482(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_Pain@@SAPAVidClass@@XZ
// EA  : 0x82550150
// RVA : 0x00550150
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_Pain::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_Pain::Type, childFSMType: nullptr, flags: 2);
  *v1 = &idAlertCycle_Pain::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550589
// EA  : 0x825501E4
// RVA : 0x005501E4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550589(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_Dying@@SAPAVidClass@@XZ
// EA  : 0x82550218
// RVA : 0x00550218
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_Dying::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_Dying::Type, childFSMType: nullptr, flags: 2);
  *v1 = &idAlertCycle_Dying::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550734
// EA  : 0x825502AC
// RVA : 0x005502AC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550734(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_PassifiedDone@@SAPAVidClass@@XZ
// EA  : 0x825502E0
// RVA : 0x005502E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_PassifiedDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_PassifiedDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550833
// EA  : 0x82550368
// RVA : 0x00550368
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550833(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycle_Avoid@@SAPAVidClass@@XZ
// EA  : 0x82550398
// RVA : 0x00550398
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idAlertCycle_Avoid::CreateInstance()
{
  idState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idState *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x1Cu,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idState::idState(this: v0, stateType: &idAlertCycle_Avoid::Type, childFSMType: &idAvoidFSM::Type, flags: 0);
  *v1 = &idAlertCycle_Avoid::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$550940
// EA  : 0x82550430
// RVA : 0x00550430
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_550940(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idAlertCycle_PerformDropLanding@@UBA_NABVidEventDef@@@Z
// EA  : 0x82550458
// RVA : 0x00550458
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAlertCycle_PerformDropLanding::RespondsTo(idAlertCycle_DropFromShip *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAlertCycle_DropFromShip *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 682
      || idAIFSMManager::RespondsTo((idBehaviorDecorator *)this, event);
}


// ========================================================================
// ?CreateInstance@AC_ShouldDropFromShip@@SAPAVidClass@@XZ
// EA  : 0x825504D0
// RVA : 0x005504D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_ShouldDropFromShip::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_ShouldDropFromShip::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$551072
// EA  : 0x82550558
// RVA : 0x00550558
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551072(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AC_NotOnElevator@@SAPAVidClass@@XZ
// EA  : 0x82550588
// RVA : 0x00550588
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AC_NotOnElevator::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AC_NotOnElevator::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$551179
// EA  : 0x82550610
// RVA : 0x00550610
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551179(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAlertCycleFSM@@SAPAVidClass@@XZ
// EA  : 0x82550640
// RVA : 0x00550640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAlertCycleFSM *__fastcall idAlertCycleFSM::CreateInstance()
{
  idAlertCycleFSM *v0; // r3

  v0 = (idAlertCycleFSM *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x2B8u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAlertCycleFSM::idAlertCycleFSM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$551286_0
// EA  : 0x825506A8
// RVA : 0x005506A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551286_0(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAIFSMLite@@SAPAVidClass@@XZ
// EA  : 0x825506D8
// RVA : 0x005506D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIFSMLite *__fastcall idAIFSMLite::CreateInstance()
{
  idAIFSMLite *v0; // r3

  v0 = (idAIFSMLite *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x20u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAIFSMLite::idAIFSMLite(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$551375_0
// EA  : 0x82550740
// RVA : 0x00550740
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551375_0(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idRageMetrics@@UBA_NABVidEventDef@@@Z
// EA  : 0x82550768
// RVA : 0x00550768
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idRageMetrics::RespondsTo(idAIStateLite *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAIStateLite *))this->InternalRespondsTo)(a1: this) != 0
      || idEventReceiver::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idAnimStateMoveGround@@SAPAVidClass@@XZ
// EA  : 0x825507D8
// RVA : 0x005507D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimStateMoveGround *__fastcall idAnimStateMoveGround::CreateInstance()
{
  idAnimStateMoveGround *v0; // r3

  v0 = (idAnimStateMoveGround *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0xB8u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAnimStateMoveGround::idAnimStateMoveGround(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$551477
// EA  : 0x82550840
// RVA : 0x00550840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551477(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAnimStateMoveGround@@SAPBV1@PBVidClass@@@Z
// EA  : 0x82550868
// RVA : 0x00550868
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimStateMoveGround *__fastcall idAnimStateMoveGround::CastTo(idAnimStateMoveGround *c)
{
  idAnimStateMoveGround *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAnimStateMoveGround::Type.typeNum || (v4 = v2 <= idAnimStateMoveGround::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idAnimStateMoveGround@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82550900
// RVA : 0x00550900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimStateMoveGround *__fastcall idAnimStateMoveGround::CallEvent(
        idAnimStateMoveGround *this,
        idEventArg *result,
        const idEventDef *event,
        const idEventArg *args)
{
  char v9; // [sp+50h] [-30h] BYREF
  char v10; // [sp+51h] [-2Fh] BYREF
  char v11; // [sp+52h] [-2Eh] BYREF
  char v12; // [sp+53h] [-2Dh] BYREF
  char v13; // [sp+54h] [-2Ch] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(idEventArg *, const idEventDef *))(*(_DWORD *)&result->type + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAnimStateMoveGround *, idEventArg *, const idEventDef *, const idEventArg *))(*(_DWORD *)&result->type + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( (unsigned int)(event->eventnum - 685) > 4 )
  {
    idState::CallEvent(this, result, event, args);
    return this;
  }
  else if ( event->eventnum == 686 )
  {
    idAnimStateMoveGround::FSMEvent_StartDeparture(this: (idAnimStateMoveGround *)&v10, (eventVoid *)result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else if ( event->eventnum == 687 )
  {
    idAnimStateMoveGround::FSMEvent_StartStepTransition(this: (idAnimStateMoveGround *)&v11, (eventVoid *)result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else if ( event->eventnum == 688 )
  {
    idAnimStateMoveGround::FSMEvent_AnimEventLunge(this: (idAnimStateMoveGround *)&v12, (eventVoid *)result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    if ( event->eventnum == 685 )
      idAnimStateMoveGround::FSMEvent_StartArrival(this: (idAnimStateMoveGround *)&v9, (eventVoid *)result);
    else
      idAnimStateMoveGround::FSMEvent_DepartureReturnToMove(this: (idAnimStateMoveGround *)&v13, (eventVoid *)result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAnimStateMoveGround@@UBA_NABVidEventDef@@@Z
// EA  : 0x82550A68
// RVA : 0x00550A68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAnimStateMoveGround::RespondsTo(idAnimStateMoveGround *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idAnimStateMoveGround *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 685 && eventnum <= 689
      || idRageMetrics::RespondsTo(this, event);
}


// ========================================================================
// ?CastTo@idAIAction@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82550AE0
// RVA : 0x00550AE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAIAction *__fastcall idAIAction::CastTo(idAIAction *c)
{
  idAIAction *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAIAction::Type.typeNum || (v4 = v2 <= idAIAction::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@ReachedPoint@@SAPAVidClass@@XZ
// EA  : 0x82550B80
// RVA : 0x00550B80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ReachedPoint::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ReachedPoint::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$551694
// EA  : 0x82550C08
// RVA : 0x00550C08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551694(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ActionEntityDeleted@@SAPAVidClass@@XZ
// EA  : 0x82550C38
// RVA : 0x00550C38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ActionEntityDeleted::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ActionEntityDeleted::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$551801
// EA  : 0x82550CC0
// RVA : 0x00550CC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551801(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@ActionFinished@@SAPAVidClass@@XZ
// EA  : 0x82550CF0
// RVA : 0x00550CF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall ActionFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &ActionFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$551908
// EA  : 0x82550D78
// RVA : 0x00550D78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_551908(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_MoveToEntity@@SAPAVidClass@@XZ
// EA  : 0x82550DA8
// RVA : 0x00550DA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_MoveToEntity *__fastcall idAction_MoveToEntity::CreateInstance()
{
  idAction_MoveToEntity *v0; // r3

  v0 = (idAction_MoveToEntity *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x20u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_MoveToEntity::idAction_MoveToEntity(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$552015
// EA  : 0x82550E10
// RVA : 0x00550E10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552015(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_MoveToEntity@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82550E38
// RVA : 0x00550E38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_MoveToEntity *__fastcall idAction_MoveToEntity::CallEvent(
        idAction_MoveToEntity *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  double v9; // fp13
  int v10; // r10
  double v11; // fp12
  double v12; // fp31
  aiArrivalAction_t value; // r27
  aiMoveReason_t aas; // r26
  BOOL v15; // r25
  const idEntity *Entity; // r24
  idEntity *v17; // r3
  bool v18; // r9
  bool v19; // [sp+Bh] [-C5h]
  idAction_MoveToEntity v20; // [sp+60h] [-70h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_MoveToEntity *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result
                                                                                                  + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 695 )
    {
      v9 = *(float *)&args[10].coverIndex;
      v10 = *(_DWORD *)&args[8].coverIndex;
      v11 = *(float *)&args[11].aas;
      v20.listeningToList = (idList<idEventReceiver *,5> *)args[10].spawnId.value;
      *(float *)&v20.stateData = v9;
      *(float *)&v20.childFSMType = v11;
      v12 = *(float *)&args[7].aas;
      value = args[5].spawnId.value;
      aas = (aiMoveReason_t)args[2].aas;
      v15 = v10 != 0;
      Entity = idEventArg::GetEntity(this: (idAICover *)((char *)args + 40));
      v17 = (idEntity *)idEventArg::GetEntity(this: args);
      idAction_MoveToEntity::Action_MoveToEntityEnter(
        this: &v20,
        result,
        entity: v17,
        moveReason: aas,
        destEnt: Entity,
        arrivalAction: value,
        tolerance: v12,
        align: v18,
        dir: (const idVec3 *)v15,
        smoothTransitions: v19);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idCombat_Melee::CallEvent(
        (idBotBehaviorCombat_CrouchAttackEnemy *)this,
        (idEventArg *)result,
        event,
        (const idEventArg *)args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_MoveToEntity@@UBA_NABVidEventDef@@@Z
// EA  : 0x82550F78
// RVA : 0x00550F78
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_MoveToEntity::RespondsTo(idAction_MoveToEntity *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_MoveToEntity *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 695
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@AbortMoveToCover@@SAPAVidClass@@XZ
// EA  : 0x82550FF0
// RVA : 0x00550FF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AbortMoveToCover::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AbortMoveToCover::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$552169
// EA  : 0x82551078
// RVA : 0x00551078
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552169(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_Idle@@SAPAVidClass@@XZ
// EA  : 0x825510A8
// RVA : 0x005510A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Idle *__fastcall idAction_Idle::CreateInstance()
{
  idAction_Idle *v0; // r3

  v0 = (idAction_Idle *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x28u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_Idle::idAction_Idle(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$552276
// EA  : 0x82551110
// RVA : 0x00551110
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552276(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?IsTypeOf@idAction_Idle@@SA_NPBVidClass@@@Z
// EA  : 0x82551138
// RVA : 0x00551138
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idAction_Idle::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idAction_Idle::Type.typeNum || (v3 = v1 <= idAction_Idle::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idAction_Idle@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825511B0
// RVA : 0x005511B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Idle *__fastcall idAction_Idle::CallEvent(
        idAction_Idle *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  aiIdleTurn_t v10; // r28
  int aas; // r29
  idEntity *Entity; // r3
  idAction_Idle v13; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_Idle *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 702 )
  {
    v9 = args;
    v10 = *(_DWORD *)&args[3].coverIndex;
    aas = (int)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_Idle::Action_IdleEnter(this: &v13, result, entity: Entity, time: aas, turnType: v10);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_Idle@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551288
// RVA : 0x00551288
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_Idle::RespondsTo(idAction_Idle *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_Idle *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 702
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@FinishedStanding@@SAPAVidClass@@XZ
// EA  : 0x82551300
// RVA : 0x00551300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall FinishedStanding::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &FinishedStanding::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$552403
// EA  : 0x82551388
// RVA : 0x00551388
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552403(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_PullTriggerLeft@@SAPAVidClass@@XZ
// EA  : 0x825513B8
// RVA : 0x005513B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PullTriggerLeft *__fastcall idAction_PullTriggerLeft::CreateInstance()
{
  idAction_PullTriggerLeft *v0; // r3

  v0 = (idAction_PullTriggerLeft *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x1Cu,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_PullTriggerLeft::idAction_PullTriggerLeft(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$552510
// EA  : 0x82551420
// RVA : 0x00551420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552510(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_PullTriggerLeft@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82551448
// RVA : 0x00551448
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PullTriggerLeft *__fastcall idAction_PullTriggerLeft::CallEvent(
        idAction_PullTriggerLeft *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idEntity *Entity; // r3
  idAction_PullTriggerLeft v10; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_PullTriggerLeft *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 708 )
  {
    Entity = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_PullTriggerLeft::Action_PullTriggerLeftEnter(this: &v10, result, entity: Entity);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_PullTriggerLeft@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551510
// RVA : 0x00551510
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_PullTriggerLeft::RespondsTo(idAction_PullTriggerLeft *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_PullTriggerLeft *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 708
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@FinishedReloadingTorso@@SAPAVidClass@@XZ
// EA  : 0x82551588
// RVA : 0x00551588
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall FinishedReloadingTorso::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &FinishedReloadingTorso::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$552629
// EA  : 0x82551610
// RVA : 0x00551610
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552629(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_LoopAnim@@SAPAVidClass@@XZ
// EA  : 0x82551640
// RVA : 0x00551640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_LoopAnim *__fastcall idAction_LoopAnim::CreateInstance()
{
  idAction_LoopAnim *v0; // r3

  v0 = (idAction_LoopAnim *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x1Cu,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_LoopAnim::idAction_LoopAnim(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$552736
// EA  : 0x825516A8
// RVA : 0x005516A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552736(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idAction_LoopAnim@@UBA_NABVidEventDef@@@Z
// EA  : 0x825516D0
// RVA : 0x005516D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_LoopAnim::RespondsTo(idAction_LoopAnim *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_LoopAnim *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 714
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@TraversalAnimDone@@SAPAVidClass@@XZ
// EA  : 0x82551748
// RVA : 0x00551748
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TraversalAnimDone::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TraversalAnimDone::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$552836
// EA  : 0x825517D0
// RVA : 0x005517D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552836(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_ForceAnimState@@SAPAVidClass@@XZ
// EA  : 0x82551800
// RVA : 0x00551800
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ForceAnimState *__fastcall idAction_ForceAnimState::CreateInstance()
{
  idAction_ForceAnimState *v0; // r3

  v0 = (idAction_ForceAnimState *)idMem::AllocWithLocation(
                                    this: &mem,
                                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                    size: 0x1Cu,
                                    tag: TAG_NEW,
                                    zeroBuffer: false,
                                    align: ALIGN_16,
                                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_ForceAnimState::idAction_ForceAnimState(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$552943
// EA  : 0x82551868
// RVA : 0x00551868
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_552943(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?RespondsTo@idAction_ForceAnimState@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551890
// RVA : 0x00551890
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_ForceAnimState::RespondsTo(idAction_ForceAnimState *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_ForceAnimState *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 720
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_Dive@@SAPAVidClass@@XZ
// EA  : 0x82551908
// RVA : 0x00551908
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Dive *__fastcall idAction_Dive::CreateInstance()
{
  idAction_Dive *v0; // r3

  v0 = (idAction_Dive *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x34u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_Dive::idAction_Dive(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$553043
// EA  : 0x82551970
// RVA : 0x00551970
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553043(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_Dive@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82551998
// RVA : 0x00551998
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Dive *__fastcall idAction_Dive::CallEvent(
        idAction_Dive *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  double v10; // fp31
  double v11; // fp30
  aiMoveReason_t aas; // r29
  idEntity *Entity; // r3
  idAction_Dive v14; // [sp+50h] [-40h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_Dive *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 723 )
  {
    v9 = args;
    v10 = *(float *)&args[5].spawnId.value;
    v11 = *(float *)&args[3].coverIndex;
    aas = (aiMoveReason_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_Dive::Action_DiveEnter(this: &v14, result, entity: Entity, moveReason: aas, diveYaw: v11, faceYaw: v10);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_Dive@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551A98
// RVA : 0x00551A98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_Dive::RespondsTo(idAction_Dive *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_Dive *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 723
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@TurnToEntityFinished@@SAPAVidClass@@XZ
// EA  : 0x82551B10
// RVA : 0x00551B10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall TurnToEntityFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &TurnToEntityFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$553174
// EA  : 0x82551B98
// RVA : 0x00551B98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553174(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@EntityNear@@SAPAVidClass@@XZ
// EA  : 0x82551BC8
// RVA : 0x00551BC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall EntityNear::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &EntityNear::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$553281
// EA  : 0x82551C50
// RVA : 0x00551C50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553281(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_PlayVoiceOver@@SAPAVidClass@@XZ
// EA  : 0x82551C80
// RVA : 0x00551C80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PlayVoiceOver *__fastcall idAction_PlayVoiceOver::CreateInstance()
{
  idAction_PlayVoiceOver *v0; // r3

  v0 = (idAction_PlayVoiceOver *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x20u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_PlayVoiceOver::idAction_PlayVoiceOver(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$553388
// EA  : 0x82551CE8
// RVA : 0x00551CE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553388(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_PlayVoiceOver@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82551D10
// RVA : 0x00551D10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PlayVoiceOver *__fastcall idAction_PlayVoiceOver::CallEvent(
        idAction_PlayVoiceOver *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int v9; // r11
  idAICover *v10; // r3
  const idDeclVoiceOver *aas; // r29
  bool v12; // r28
  idEntity *Entity; // r3
  idAction_PlayVoiceOver v14; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_PlayVoiceOver *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 730 )
    {
      v9 = *(_DWORD *)&args[3].coverIndex;
      v10 = args;
      aas = (const idDeclVoiceOver *)args[2].aas;
      v12 = v9 != 0;
      Entity = (idEntity *)idEventArg::GetEntity(this: v10);
      idAction_PlayVoiceOver::Action_PlayVoiceOverEnter(this: &v14, result, entity: Entity, vo: aas, wait: v12);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idCombat_Melee::CallEvent(
        (idBotBehaviorCombat_CrouchAttackEnemy *)this,
        (idEventArg *)result,
        event,
        (const idEventArg *)args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_PlayVoiceOver@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551DF0
// RVA : 0x00551DF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_PlayVoiceOver::RespondsTo(idAction_PlayVoiceOver *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_PlayVoiceOver *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 730
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_PlayOverrideAnim@@SAPAVidClass@@XZ
// EA  : 0x82551E68
// RVA : 0x00551E68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PlayOverrideAnim *__fastcall idAction_PlayOverrideAnim::CreateInstance()
{
  idAction_PlayOverrideAnim *v0; // r3

  v0 = (idAction_PlayOverrideAnim *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x1Cu,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_PlayOverrideAnim::idAction_PlayOverrideAnim(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$553515
// EA  : 0x82551ED0
// RVA : 0x00551ED0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553515(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_PlayOverrideAnim@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82551EF8
// RVA : 0x00551EF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_PlayOverrideAnim *__fastcall idAction_PlayOverrideAnim::CallEvent(
        idAction_PlayOverrideAnim *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  overrideAnim_t aas; // r29
  idEntity *Entity; // r3
  idAction_PlayOverrideAnim v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_PlayOverrideAnim *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 733 )
  {
    v9 = args;
    aas = (overrideAnim_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_PlayOverrideAnim::Action_PlayOverrideAnimEnter(this: &v12, result, entity: Entity, overrideAnim: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_PlayOverrideAnim@@UBA_NABVidEventDef@@@Z
// EA  : 0x82551FC8
// RVA : 0x00551FC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_PlayOverrideAnim::RespondsTo(idAction_PlayOverrideAnim *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_PlayOverrideAnim *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 733
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@HolsterWeaponFinished@@SAPAVidClass@@XZ
// EA  : 0x82552040
// RVA : 0x00552040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall HolsterWeaponFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &HolsterWeaponFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$553638
// EA  : 0x825520C8
// RVA : 0x005520C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553638(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@CoverActionFinished@@SAPAVidClass@@XZ
// EA  : 0x825520F8
// RVA : 0x005520F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall CoverActionFinished::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &CoverActionFinished::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$553745
// EA  : 0x82552180
// RVA : 0x00552180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553745(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@AIVarExpressionTrue@@SAPAVidClass@@XZ
// EA  : 0x825521B0
// RVA : 0x005521B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall AIVarExpressionTrue::CreateInstance()
{
  idStateTransition *v0; // r3
  _DWORD *v1; // r30

  v0 = (idStateTransition *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 8u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idStateTransition::idStateTransition(this: v0, flags: 0);
  *v1 = &AIVarExpressionTrue::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$553852
// EA  : 0x82552238
// RVA : 0x00552238
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553852(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAction_SetAlertCycle@@SAPAVidClass@@XZ
// EA  : 0x82552268
// RVA : 0x00552268
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetAlertCycle *__fastcall idAction_SetAlertCycle::CreateInstance()
{
  idAction_SetAlertCycle *v0; // r3

  v0 = (idAction_SetAlertCycle *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x1Cu,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_SetAlertCycle::idAction_SetAlertCycle(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$553959
// EA  : 0x825522D0
// RVA : 0x005522D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_553959(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_SetAlertCycle@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825522F8
// RVA : 0x005522F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetAlertCycle *__fastcall idAction_SetAlertCycle::CallEvent(
        idAction_SetAlertCycle *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  alertCycle_t aas; // r29
  idEntity *Entity; // r3
  idAction_SetAlertCycle v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_SetAlertCycle *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 742 )
  {
    v9 = args;
    aas = (alertCycle_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_SetAlertCycle::Action_SetAlertCycleEnter(this: &v12, result, entity: Entity, ac: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_SetAlertCycle@@UBA_NABVidEventDef@@@Z
// EA  : 0x825523C8
// RVA : 0x005523C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_SetAlertCycle::RespondsTo(idAction_SetAlertCycle *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_SetAlertCycle *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 742
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_ClearAimFocus@@SAPAVidClass@@XZ
// EA  : 0x82552440
// RVA : 0x00552440
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ClearAimFocus *__fastcall idAction_ClearAimFocus::CreateInstance()
{
  idAction_ClearAimFocus *v0; // r3

  v0 = (idAction_ClearAimFocus *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x1Cu,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_ClearAimFocus::idAction_ClearAimFocus(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554082
// EA  : 0x825524A8
// RVA : 0x005524A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554082(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_ClearAimFocus@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825524D0
// RVA : 0x005524D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ClearAimFocus *__fastcall idAction_ClearAimFocus::CallEvent(
        idAction_ClearAimFocus *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idEntity *Entity; // r3
  idAction_ClearAimFocus v10; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_ClearAimFocus *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 746 )
  {
    Entity = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_ClearAimFocus::Action_ClearAimFocusEnter(this: &v10, result, entity: Entity);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_ClearAimFocus@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552598
// RVA : 0x00552598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_ClearAimFocus::RespondsTo(idAction_ClearAimFocus *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_ClearAimFocus *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 746
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_SetPosture@@SAPAVidClass@@XZ
// EA  : 0x82552610
// RVA : 0x00552610
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetPosture *__fastcall idAction_SetPosture::CreateInstance()
{
  idAction_SetPosture *v0; // r3

  v0 = (idAction_SetPosture *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x1Cu,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_SetPosture::idAction_SetPosture(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554201
// EA  : 0x82552678
// RVA : 0x00552678
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554201(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_SetPosture@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825526A0
// RVA : 0x005526A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetPosture *__fastcall idAction_SetPosture::CallEvent(
        idAction_SetPosture *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  posture_t aas; // r29
  idEntity *Entity; // r3
  idAction_SetPosture v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_SetPosture *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 750 )
  {
    v9 = args;
    aas = (posture_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_SetPosture::Action_SetPostureEnter(this: &v12, result, entity: Entity, posture: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_SetPosture@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552770
// RVA : 0x00552770
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_SetPosture::RespondsTo(idAction_SetPosture *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_SetPosture *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 750
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_SetIdleState@@SAPAVidClass@@XZ
// EA  : 0x825527E8
// RVA : 0x005527E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetIdleState *__fastcall idAction_SetIdleState::CreateInstance()
{
  idAction_SetIdleState *v0; // r3

  v0 = (idAction_SetIdleState *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x1Cu,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_SetIdleState::idAction_SetIdleState(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554324
// EA  : 0x82552850
// RVA : 0x00552850
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554324(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_SetIdleState@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82552878
// RVA : 0x00552878
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetIdleState *__fastcall idAction_SetIdleState::CallEvent(
        idAction_SetIdleState *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  runIndexType_t aas; // r29
  idEntity *Entity; // r3
  idAction_SetIdleState v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_SetIdleState *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result
                                                                                                  + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 754 )
  {
    v9 = args;
    aas = (runIndexType_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_SetIdleState::Action_SetIdleStateEnter(this: &v12, result, entity: Entity, state: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_SetIdleState@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552948
// RVA : 0x00552948
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_SetIdleState::RespondsTo(idAction_SetIdleState *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_SetIdleState *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 754
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_SetEnemy@@SAPAVidClass@@XZ
// EA  : 0x825529C0
// RVA : 0x005529C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetEnemy *__fastcall idAction_SetEnemy::CreateInstance()
{
  idAction_SetEnemy *v0; // r3

  v0 = (idAction_SetEnemy *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x1Cu,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_SetEnemy::idAction_SetEnemy(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554447
// EA  : 0x82552A28
// RVA : 0x00552A28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554447(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_SetEnemy@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82552A50
// RVA : 0x00552A50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_SetEnemy *__fastcall idAction_SetEnemy::CallEvent(
        idAction_SetEnemy *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  const idEntity *Entity; // r28
  idEntity *v10; // r3
  idAction_SetEnemy v11; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_SetEnemy *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 758 )
  {
    Entity = idEventArg::GetEntity(this: (idAICover *)((char *)args + 20));
    v10 = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_SetEnemy::Action_SetEnemyEnter(this: &v11, result, entity: v10, enemy: Entity);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_SetEnemy@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552B28
// RVA : 0x00552B28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_SetEnemy::RespondsTo(idAction_SetEnemy *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_SetEnemy *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 758
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_Trigger@@SAPAVidClass@@XZ
// EA  : 0x82552BA0
// RVA : 0x00552BA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Trigger *__fastcall idAction_Trigger::CreateInstance()
{
  idAction_Trigger *v0; // r3

  v0 = (idAction_Trigger *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x1Cu,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_Trigger::idAction_Trigger(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554566
// EA  : 0x82552C08
// RVA : 0x00552C08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554566(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_Trigger@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82552C30
// RVA : 0x00552C30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_Trigger *__fastcall idAction_Trigger::CallEvent(
        idAction_Trigger *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idEntity *Entity; // r28
  idEntity *v10; // r3
  idAction_Trigger v11; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_Trigger *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 762 )
  {
    Entity = (idEntity *)idEventArg::GetEntity(this: (idAICover *)((char *)args + 20));
    v10 = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_Trigger::Action_TriggerEnter(this: &v11, result, entity: v10, ent: Entity);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_Trigger@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552D08
// RVA : 0x00552D08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_Trigger::RespondsTo(idAction_Trigger *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_Trigger *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 762
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_EnableBodyRotation@@SAPAVidClass@@XZ
// EA  : 0x82552D80
// RVA : 0x00552D80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_EnableBodyRotation *__fastcall idAction_EnableBodyRotation::CreateInstance()
{
  idAction_EnableBodyRotation *v0; // r3

  v0 = (idAction_EnableBodyRotation *)idMem::AllocWithLocation(
                                        this: &mem,
                                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                        size: 0x1Cu,
                                        tag: TAG_NEW,
                                        zeroBuffer: false,
                                        align: ALIGN_16,
                                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_EnableBodyRotation::idAction_EnableBodyRotation(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554685
// EA  : 0x82552DE8
// RVA : 0x00552DE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554685(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_EnableBodyRotation@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82552E10
// RVA : 0x00552E10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_EnableBodyRotation *__fastcall idAction_EnableBodyRotation::CallEvent(
        idAction_EnableBodyRotation *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  bool v10; // r29
  idEntity *Entity; // r3
  idAction_EnableBodyRotation v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_EnableBodyRotation *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 766 )
    {
      v9 = args;
      v10 = args[2].aas != nullptr;
      Entity = (idEntity *)idEventArg::GetEntity(this: v9);
      idAction_EnableBodyRotation::Action_EnableBodyRotationEnter(this: &v12, result, entity: Entity, enabled: v10);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idCombat_Melee::CallEvent(
        (idBotBehaviorCombat_CrouchAttackEnemy *)this,
        (idEventArg *)result,
        event,
        (const idEventArg *)args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_EnableBodyRotation@@UBA_NABVidEventDef@@@Z
// EA  : 0x82552EE8
// RVA : 0x00552EE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_EnableBodyRotation::RespondsTo(idAction_EnableBodyRotation *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_EnableBodyRotation *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 766
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_ForceAwarenessByDistance@@SAPAVidClass@@XZ
// EA  : 0x82552F60
// RVA : 0x00552F60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ForceAwarenessByDistance *__fastcall idAction_ForceAwarenessByDistance::CreateInstance()
{
  idAction_ForceAwarenessByDistance *v0; // r3

  v0 = (idAction_ForceAwarenessByDistance *)idMem::AllocWithLocation(
                                              this: &mem,
                                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                              size: 0x1Cu,
                                              tag: TAG_NEW,
                                              zeroBuffer: false,
                                              align: ALIGN_16,
                                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_ForceAwarenessByDistance::idAction_ForceAwarenessByDistance(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554808
// EA  : 0x82552FC8
// RVA : 0x00552FC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554808(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_ForceAwarenessByDistance@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82552FF0
// RVA : 0x00552FF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ForceAwarenessByDistance *__fastcall idAction_ForceAwarenessByDistance::CallEvent(
        idAction_ForceAwarenessByDistance *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  double v9; // fp31
  bool v10; // r28
  idEntity *Entity; // r3
  bool v12; // r6
  idAction_ForceAwarenessByDistance v13; // [sp+50h] [-40h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_ForceAwarenessByDistance *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 770 )
    {
      v9 = *(float *)&args[2].aas;
      v10 = *(_DWORD *)&args[3].coverIndex != 0;
      Entity = (idEntity *)idEventArg::GetEntity(this: args);
      idAction_ForceAwarenessByDistance::Action_ForceAwarenessByDistanceEnter(
        this: &v13,
        result,
        entity: Entity,
        radius: v9,
        playerFlag: v12,
        aiFlag: v10);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idCombat_Melee::CallEvent(
        (idBotBehaviorCombat_CrouchAttackEnemy *)this,
        (idEventArg *)result,
        event,
        (const idEventArg *)args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_ForceAwarenessByDistance@@UBA_NABVidEventDef@@@Z
// EA  : 0x825530F0
// RVA : 0x005530F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_ForceAwarenessByDistance::RespondsTo(
        idAction_ForceAwarenessByDistance *this,
        const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_ForceAwarenessByDistance *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 770
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_TakeItem@@SAPAVidClass@@XZ
// EA  : 0x82553168
// RVA : 0x00553168
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_TakeItem *__fastcall idAction_TakeItem::CreateInstance()
{
  idAction_TakeItem *v0; // r3

  v0 = (idAction_TakeItem *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x1Cu,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_TakeItem::idAction_TakeItem(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$554939
// EA  : 0x825531D0
// RVA : 0x005531D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_554939(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_TakeItem@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825531F8
// RVA : 0x005531F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_TakeItem *__fastcall idAction_TakeItem::CallEvent(
        idAction_TakeItem *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  const idDeclInventory *v9; // r28
  idEntity *Entity; // r27
  idEntity *v11; // r3
  idAction_TakeItem v12[2]; // [sp+50h] [-40h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_TakeItem *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 774 )
  {
    v9 = *(const idDeclInventory **)&args[3].coverIndex;
    Entity = (idEntity *)idEventArg::GetEntity(this: (idAICover *)((char *)args + 20));
    v11 = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_TakeItem::Action_TakeItemEnter(this: v12, result, entity: v11, takeFrom: Entity, itemDecl: v9);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_TakeItem@@UBA_NABVidEventDef@@@Z
// EA  : 0x825532D8
// RVA : 0x005532D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_TakeItem::RespondsTo(idAction_TakeItem *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_TakeItem *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 774
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_DropAttachment@@SAPAVidClass@@XZ
// EA  : 0x82553350
// RVA : 0x00553350
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_DropAttachment *__fastcall idAction_DropAttachment::CreateInstance()
{
  idAction_DropAttachment *v0; // r3

  v0 = (idAction_DropAttachment *)idMem::AllocWithLocation(
                                    this: &mem,
                                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                    size: 0x1Cu,
                                    tag: TAG_NEW,
                                    zeroBuffer: false,
                                    align: ALIGN_16,
                                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_DropAttachment::idAction_DropAttachment(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555064
// EA  : 0x825533B8
// RVA : 0x005533B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555064(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_DropAttachment@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825533E0
// RVA : 0x005533E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_DropAttachment *__fastcall idAction_DropAttachment::CallEvent(
        idAction_DropAttachment *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  const char *aas; // r29
  idEntity *Entity; // r3
  idAction_DropAttachment v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_DropAttachment *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 778 )
  {
    v9 = args;
    aas = (const char *)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_DropAttachment::Action_DropAttachmentEnter(this: &v12, result, entity: Entity, slotName: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_DropAttachment@@UBA_NABVidEventDef@@@Z
// EA  : 0x825534B0
// RVA : 0x005534B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_DropAttachment::RespondsTo(idAction_DropAttachment *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_DropAttachment *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 778
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_ClearPerceptionFlag@@SAPAVidClass@@XZ
// EA  : 0x82553528
// RVA : 0x00553528
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ClearPerceptionFlag *__fastcall idAction_ClearPerceptionFlag::CreateInstance()
{
  idAction_ClearPerceptionFlag *v0; // r3

  v0 = (idAction_ClearPerceptionFlag *)idMem::AllocWithLocation(
                                         this: &mem,
                                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                         size: 0x1Cu,
                                         tag: TAG_NEW,
                                         zeroBuffer: false,
                                         align: ALIGN_16,
                                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_ClearPerceptionFlag::idAction_ClearPerceptionFlag(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555187
// EA  : 0x82553590
// RVA : 0x00553590
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555187(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAction_ClearPerceptionFlag@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825535B8
// RVA : 0x005535B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ClearPerceptionFlag *__fastcall idAction_ClearPerceptionFlag::CallEvent(
        idAction_ClearPerceptionFlag *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  aiPerceptionFlags_t aas; // r29
  idEntity *Entity; // r3
  idAction_ClearPerceptionFlag v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_ClearPerceptionFlag *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 782 )
  {
    v9 = args;
    aas = (aiPerceptionFlags_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v9);
    idAction_ClearPerceptionFlag::Action_ClearPerceptionFlagEnter(this: &v12, result, entity: Entity, flags: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_ClearPerceptionFlag@@UBA_NABVidEventDef@@@Z
// EA  : 0x82553688
// RVA : 0x00553688
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_ClearPerceptionFlag::RespondsTo(idAction_ClearPerceptionFlag *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_ClearPerceptionFlag *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 782
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idAction_ScriptedAnimWeb@@SAPAVidClass@@XZ
// EA  : 0x82553700
// RVA : 0x00553700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ScriptedAnimWeb *__fastcall idAction_ScriptedAnimWeb::CreateInstance()
{
  idAction_ScriptedAnimWeb *v0; // r3

  v0 = (idAction_ScriptedAnimWeb *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x58u,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAction_ScriptedAnimWeb::idAction_ScriptedAnimWeb(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555310
// EA  : 0x82553768
// RVA : 0x00553768
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555310(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idAction_ScriptedAnimWeb@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82553790
// RVA : 0x00553790
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ScriptedAnimWeb *__fastcall idAction_ScriptedAnimWeb::CastTo(idAction_ScriptedAnimWeb *c)
{
  idAction_ScriptedAnimWeb *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idAction_ScriptedAnimWeb::Type.typeNum
      || (v4 = v2 <= idAction_ScriptedAnimWeb::Type.lastChild, v3 = 1, !v4) )
    {
      v3 = 0;
    }
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idAction_ScriptedAnimWeb@@SA_NPBVidClass@@@Z
// EA  : 0x82553828
// RVA : 0x00553828
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idAction_ScriptedAnimWeb::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idAction_ScriptedAnimWeb::Type.typeNum || (v3 = v1 <= idAction_ScriptedAnimWeb::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CallEvent@idAction_ScriptedAnimWeb@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825538A0
// RVA : 0x005538A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ScriptedAnimWeb *__fastcall idAction_ScriptedAnimWeb::CallEvent(
        idAction_ScriptedAnimWeb *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int v9; // r28
  idEntity *Entity; // r27
  idEntity *v11; // r3
  char v12; // [sp+50h] [-40h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_ScriptedAnimWeb *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 785 )
  {
    v9 = *(_DWORD *)&args[3].coverIndex;
    Entity = (idEntity *)idEventArg::GetEntity(this: (idAICover *)((char *)args + 20));
    v11 = (idEntity *)idEventArg::GetEntity(this: args);
    idAction_ScriptedAnimWeb::Action_ScriptedAnimWebEnter(
      this: (idAction_ScriptedAnimWeb *)&v12,
      result,
      entity: v11,
      entityPtr: Entity,
      loopInterval_: v9);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idAction_ScriptedAnimWeb@@UBA_NABVidEventDef@@@Z
// EA  : 0x82553980
// RVA : 0x00553980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idAction_ScriptedAnimWeb::RespondsTo(idAction_ScriptedAnimWeb *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idAction_ScriptedAnimWeb *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 785
      || idVehicle_Smash::RespondsTo((idBotBehaviorCombat_CrouchAttackEnemy *)this, event);
}


// ========================================================================
// ?CreateInstance@idLegsFSM@@SAPAVidClass@@XZ
// EA  : 0x825539F8
// RVA : 0x005539F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idLegsFSM *__fastcall idLegsFSM::CreateInstance()
{
  idLegsFSM *v0; // r3

  v0 = (idLegsFSM *)idMem::AllocWithLocation(
                      this: &mem,
                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                      size: 0xA4u,
                      tag: TAG_NEW,
                      zeroBuffer: false,
                      align: ALIGN_16,
                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idLegsFSM::idLegsFSM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555433
// EA  : 0x82553A60
// RVA : 0x00553A60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555433(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idAITest_Rotation@@SAPAVidClass@@XZ
// EA  : 0x82553A90
// RVA : 0x00553A90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAITest_Rotation *__fastcall idAITest_Rotation::CreateInstance()
{
  idAITest_Rotation *v0; // r3

  v0 = (idAITest_Rotation *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x378u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idAITest_Rotation::idAITest_Rotation(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555522
// EA  : 0x82553AF8
// RVA : 0x00553AF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555522(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTowerTurret@@SAPAVidClass@@XZ
// EA  : 0x82553B28
// RVA : 0x00553B28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTowerTurret *__fastcall idTowerTurret::CreateInstance()
{
  idTowerTurret *v0; // r3

  v0 = (idTowerTurret *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x3988u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTowerTurret::idTowerTurret(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555611
// EA  : 0x82553B90
// RVA : 0x00553B90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555611(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?IsTypeOf@idTowerTurret@@SA_NPBVidClass@@@Z
// EA  : 0x82553BB8
// RVA : 0x00553BB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idTowerTurret::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idTowerTurret::Type.typeNum || (v3 = v1 <= idTowerTurret::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?CreateInstance@idTarget_ModifyTraversalClass@@SAPAVidClass@@XZ
// EA  : 0x82553C38
// RVA : 0x00553C38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ModifyTraversalClass *__fastcall idTarget_ModifyTraversalClass::CreateInstance()
{
  idTarget_ModifyTraversalClass *v0; // r3

  v0 = (idTarget_ModifyTraversalClass *)idMem::AllocWithLocation(
                                          this: &mem,
                                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                          size: 0x330u,
                                          tag: TAG_NEW,
                                          zeroBuffer: false,
                                          align: ALIGN_16,
                                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_ModifyTraversalClass::idTarget_ModifyTraversalClass(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555700
// EA  : 0x82553CA0
// RVA : 0x00553CA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555700(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_Show@@SAPAVidClass@@XZ
// EA  : 0x82553CD0
// RVA : 0x00553CD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idTarget_Show::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  HIBYTE(v1[1].__vftable) = 0;
  v1->__vftable = (idEntity_vtbl *)&idTarget_Show::`vftable';
  return v1;
}


// ========================================================================
// __unwind$555789
// EA  : 0x82553D5C
// RVA : 0x00553D5C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555789(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_JobTimerStart@@SAPAVidClass@@XZ
// EA  : 0x82553D90
// RVA : 0x00553D90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_JobTimerStart *__fastcall idTarget_JobTimerStart::CreateInstance()
{
  idTarget_JobTimerStart *v0; // r3

  v0 = (idTarget_JobTimerStart *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x340u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_JobTimerStart::idTarget_JobTimerStart(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555882
// EA  : 0x82553DF8
// RVA : 0x00553DF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555882(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_GiveSpecialEvent@@SAPAVidClass@@XZ
// EA  : 0x82553E28
// RVA : 0x00553E28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_GiveSpecialEvent *__fastcall idTarget_GiveSpecialEvent::CreateInstance()
{
  idTarget_GiveSpecialEvent *v0; // r3

  v0 = (idTarget_GiveSpecialEvent *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x328u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_GiveSpecialEvent::idTarget_GiveSpecialEvent(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$555971
// EA  : 0x82553E90
// RVA : 0x00553E90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_555971(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_GameStateIntSet@@SAPAVidClass@@XZ
// EA  : 0x82553EC0
// RVA : 0x00553EC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_GameStateIntSet *__fastcall idTarget_GameStateIntSet::CreateInstance()
{
  idTarget_GameStateIntSet *v0; // r3

  v0 = (idTarget_GameStateIntSet *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x328u,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_GameStateIntSet::idTarget_GameStateIntSet(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556060
// EA  : 0x82553F28
// RVA : 0x00553F28
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556060(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_FirstThinkActivate@@SAPAVidClass@@XZ
// EA  : 0x82553F58
// RVA : 0x00553F58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idTarget_FirstThinkActivate::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  HIBYTE(v1[1].__vftable) = 0;
  v1->__vftable = (idEntity_vtbl *)&idTarget_FirstThinkActivate::`vftable';
  return v1;
}


// ========================================================================
// __unwind$556149
// EA  : 0x82553FE4
// RVA : 0x00553FE4
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556149(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_LevelTransition@@SAPAVidClass@@XZ
// EA  : 0x82554018
// RVA : 0x00554018
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_LevelTransition *__fastcall idTarget_LevelTransition::CreateInstance()
{
  idTarget_LevelTransition *v0; // r3

  v0 = (idTarget_LevelTransition *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x3C8u,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_LevelTransition::idTarget_LevelTransition(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556308
// EA  : 0x82554080
// RVA : 0x00554080
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556308(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTarget_LevelTransition@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x825540A8
// RVA : 0x005540A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_LevelTransition *__fastcall idTarget_LevelTransition::CallEvent(
        idTarget_LevelTransition *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idEntity *Entity; // r3
  char v10; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTarget_LevelTransition *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 1059 )
  {
    Entity = (idEntity *)idEventArg::GetEntity(this: args);
    idTarget_LevelTransition::Event_DoTransition(this: (idTarget_LevelTransition *)&v10, result, activator: Entity);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CreateInstance@idTarget_Damage@@SAPAVidClass@@XZ
// EA  : 0x82554178
// RVA : 0x00554178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_Damage *__fastcall idTarget_Damage::CreateInstance()
{
  idTarget_Damage *v0; // r3

  v0 = (idTarget_Damage *)idMem::AllocWithLocation(
                            this: &mem,
                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                            size: 0x338u,
                            tag: TAG_NEW,
                            zeroBuffer: false,
                            align: ALIGN_16,
                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_Damage::idTarget_Damage(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556493
// EA  : 0x825541E0
// RVA : 0x005541E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556493(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_EnableGroup@@SAPAVidClass@@XZ
// EA  : 0x82554210
// RVA : 0x00554210
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_EnableGroup *__fastcall idTarget_EnableGroup::CreateInstance()
{
  idTarget_EnableGroup *v0; // r3

  v0 = (idTarget_EnableGroup *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x348u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_EnableGroup::idTarget_EnableGroup(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556582
// EA  : 0x82554278
// RVA : 0x00554278
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556582(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_PlayAnim@@SAPAVidClass@@XZ
// EA  : 0x825542A8
// RVA : 0x005542A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_PlayAnim *__fastcall idTarget_PlayAnim::CreateInstance()
{
  idTarget_PlayAnim *v0; // r3

  v0 = (idTarget_PlayAnim *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x348u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_PlayAnim::idTarget_PlayAnim(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556803
// EA  : 0x82554310
// RVA : 0x00554310
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556803(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_ApplyImpulse@@SAPAVidClass@@XZ
// EA  : 0x82554340
// RVA : 0x00554340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ApplyImpulse *__fastcall idTarget_ApplyImpulse::CreateInstance()
{
  idTarget_ApplyImpulse *v0; // r3

  v0 = (idTarget_ApplyImpulse *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x348u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_ApplyImpulse::idTarget_ApplyImpulse(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$556892_0
// EA  : 0x825543A8
// RVA : 0x005543A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556892_0(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idTarget_ApplyImpulse@@SAPAV1@PAVidClass@@@Z
// EA  : 0x825543D0
// RVA : 0x005543D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ApplyImpulse *__fastcall idTarget_ApplyImpulse::CastTo(idTarget_ApplyImpulse *c)
{
  idTarget_ApplyImpulse *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idTarget_ApplyImpulse::Type.typeNum || (v4 = v2 <= idTarget_ApplyImpulse::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idTarget_AssignVehicle@@SAPAVidClass@@XZ
// EA  : 0x82554470
// RVA : 0x00554470
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTarget_AssignVehicle::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1[200] = 0;
  *v1 = &idTarget_AssignVehicle::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$556981
// EA  : 0x825544FC
// RVA : 0x005544FC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_556981(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_StartSoundShader@@SAPAVidClass@@XZ
// EA  : 0x82554530
// RVA : 0x00554530
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_StartSoundShader *__fastcall idTarget_StartSoundShader::CreateInstance()
{
  idTarget_StartSoundShader *v0; // r3

  v0 = (idTarget_StartSoundShader *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x330u,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_StartSoundShader::idTarget_StartSoundShader(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557140
// EA  : 0x82554598
// RVA : 0x00554598
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557140(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_EnableBlink@@SAPAVidClass@@XZ
// EA  : 0x825545C8
// RVA : 0x005545C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_EnableBlink *__fastcall idTarget_EnableBlink::CreateInstance()
{
  idTarget_EnableBlink *v0; // r3

  v0 = (idTarget_EnableBlink *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x328u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_EnableBlink::idTarget_EnableBlink(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557229
// EA  : 0x82554630
// RVA : 0x00554630
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557229(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_Door@@SAPAVidClass@@XZ
// EA  : 0x82554660
// RVA : 0x00554660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_Door *__fastcall idTarget_Door::CreateInstance()
{
  idTarget_Door *v0; // r3

  v0 = (idTarget_Door *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x330u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_Door::idTarget_Door(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557318
// EA  : 0x825546C8
// RVA : 0x005546C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557318(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_ShakeTrigger@@SAPAVidClass@@XZ
// EA  : 0x825546F8
// RVA : 0x005546F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ShakeTrigger *__fastcall idTarget_ShakeTrigger::CreateInstance()
{
  idTarget_ShakeTrigger *v0; // r3

  v0 = (idTarget_ShakeTrigger *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x330u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_ShakeTrigger::idTarget_ShakeTrigger(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557407
// EA  : 0x82554760
// RVA : 0x00554760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557407(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_CoopGiveScore@@SAPAVidClass@@XZ
// EA  : 0x82554790
// RVA : 0x00554790
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTarget_CoopGiveScore::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1[200] = 0;
  *v1 = &idTarget_CoopGiveScore::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$557496
// EA  : 0x8255481C
// RVA : 0x0055481C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557496(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_SwapFaction@@SAPAVidClass@@XZ
// EA  : 0x82554850
// RVA : 0x00554850
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_SwapFaction *__fastcall idTarget_SwapFaction::CreateInstance()
{
  idTarget_SwapFaction *v0; // r3

  v0 = (idTarget_SwapFaction *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x358u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_SwapFaction::idTarget_SwapFaction(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557589
// EA  : 0x825548B8
// RVA : 0x005548B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557589(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_DummyFire@@SAPAVidClass@@XZ
// EA  : 0x825548E8
// RVA : 0x005548E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_DummyFire *__fastcall idTarget_DummyFire::CreateInstance()
{
  idTarget_DummyFire *v0; // r3

  v0 = (idTarget_DummyFire *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x3A8u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_DummyFire::idTarget_DummyFire(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557678
// EA  : 0x82554950
// RVA : 0x00554950
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557678(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idTarget_DummyFire@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82554978
// RVA : 0x00554978
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_DummyFire *__fastcall idTarget_DummyFire::CastTo(idTarget_DummyFire *c)
{
  idTarget_DummyFire *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idTarget_DummyFire::Type.typeNum || (v4 = v2 <= idTarget_DummyFire::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CallEvent@idTarget_DummyFire@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82554A10
// RVA : 0x00554A10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_DummyFire *__fastcall idTarget_DummyFire::CallEvent(
        idTarget_DummyFire *this,
        eventBool *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idEntity *Entity; // r3
  BOOL value; // r8
  char v12; // [sp+50h] [-30h] BYREF
  char v13; // [sp+51h] [-2Fh] BYREF
  char v14; // [sp+52h] [-2Eh] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventBool *, const idEventDef *))(*(_DWORD *)&result->value + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTarget_DummyFire *, eventBool *, const idEventDef *, idAICover *))(*(_DWORD *)&result->value
                                                                                               + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    eventnum = event->eventnum;
    switch ( eventnum )
    {
      case 1063:
        Entity = (idEntity *)idEventArg::GetEntity(this: args);
        value = idTarget_DummyFire::Event_SetFireTarget(this: (idTarget_DummyFire *)&v14, result, target: Entity)->value;
        HIBYTE(this->__vftable) = 105;
        this->listenerList = (idList<idEventReceiver *,5> *)value;
        return this;
      case 1064:
        idTarget_DummyFire::Event_SetFireTime(
          this: (idTarget_DummyFire *)&v13,
          (eventVoid *)result,
          time: *(float *)&args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      case 1065:
        idTarget_DummyFire::Event_SetFireDone(this: (idTarget_DummyFire *)&v12, (eventVoid *)result);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      default:
        idEntity::CallEvent(this, (eventVoid *)result, event, args);
        return this;
    }
  }
}


// ========================================================================
// ?RespondsTo@idTarget_DummyFire@@UBA_NABVidEventDef@@@Z
// EA  : 0x82554B38
// RVA : 0x00554B38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idTarget_DummyFire::RespondsTo(idTarget_DummyFire *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idTarget_DummyFire *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 1063 && eventnum <= 1065
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTarget_HideShowHands@@SAPAVidClass@@XZ
// EA  : 0x82554BB8
// RVA : 0x00554BB8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idTarget_HideShowHands::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  HIBYTE(v1[1].__vftable) = 1;
  v1->__vftable = (idEntity_vtbl *)&idTarget_HideShowHands::`vftable';
  BYTE1(v1[1].__vftable) = 1;
  v1[1].listenerList = nullptr;
  return v1;
}


// ========================================================================
// __unwind$557818
// EA  : 0x82554C50
// RVA : 0x00554C50
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557818(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_PlayerOverrideFocus@@SAPAVidClass@@XZ
// EA  : 0x82554C80
// RVA : 0x00554C80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_PlayerOverrideFocus *__fastcall idTarget_PlayerOverrideFocus::CreateInstance()
{
  idTarget_PlayerOverrideFocus *v0; // r3

  v0 = (idTarget_PlayerOverrideFocus *)idMem::AllocWithLocation(
                                         this: &mem,
                                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                         size: 0x328u,
                                         tag: TAG_NEW,
                                         zeroBuffer: false,
                                         align: ALIGN_16,
                                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_PlayerOverrideFocus::idTarget_PlayerOverrideFocus(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$557911
// EA  : 0x82554CE8
// RVA : 0x00554CE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_557911(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTarget_PlayerOverrideFocus@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82554D10
// RVA : 0x00554D10
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_PlayerOverrideFocus *__fastcall idTarget_PlayerOverrideFocus::CallEvent(
        idTarget_PlayerOverrideFocus *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v9; // r3
  bool v10; // r29
  idEntity *Entity; // r3
  char v12; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTarget_PlayerOverrideFocus *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    if ( event->eventnum == 1066 )
    {
      v9 = args;
      v10 = args[2].aas != nullptr;
      Entity = (idEntity *)idEventArg::GetEntity(this: v9);
      idTarget_PlayerOverrideFocus::Event_OverrideFocus(
        this: (idTarget_PlayerOverrideFocus *)&v12,
        result,
        activator: Entity,
        setFocus: v10);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
    }
    else
    {
      idEntity::CallEvent(this, result, event, args);
    }
    return this;
  }
}


// ========================================================================
// ?RespondsTo@idTarget_PlayerOverrideFocus@@UBA_NABVidEventDef@@@Z
// EA  : 0x82554DE8
// RVA : 0x00554DE8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idTarget_PlayerOverrideFocus::RespondsTo(idTarget_PlayerOverrideFocus *this, const idEventDef *event)
{
  return ((unsigned __int8 (__fastcall *)(idTarget_PlayerOverrideFocus *))this->InternalRespondsTo)(a1: this) != 0
      || event->eventnum == 1066
      || idEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idTarget_SetHudElement@@SAPAVidClass@@XZ
// EA  : 0x82554E60
// RVA : 0x00554E60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_SetHudElement *__fastcall idTarget_SetHudElement::CreateInstance()
{
  idTarget_SetHudElement *v0; // r3

  v0 = (idTarget_SetHudElement *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x328u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_SetHudElement::idTarget_SetHudElement(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558166
// EA  : 0x82554EC8
// RVA : 0x00554EC8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558166(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_TestActivation@@SAPAVidClass@@XZ
// EA  : 0x82554EF8
// RVA : 0x00554EF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestActivation *__fastcall idTarget_TestActivation::CreateInstance()
{
  idTarget_TestActivation *v0; // r3

  v0 = (idTarget_TestActivation *)idMem::AllocWithLocation(
                                    this: &mem,
                                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                    size: 0x398u,
                                    tag: TAG_NEW,
                                    zeroBuffer: false,
                                    align: ALIGN_16,
                                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_TestActivation::idTarget_TestActivation(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558255
// EA  : 0x82554F60
// RVA : 0x00554F60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558255(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_TestCommand@@SAPAVidClass@@XZ
// EA  : 0x82554F90
// RVA : 0x00554F90
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestCommand *__fastcall idTarget_TestCommand::CreateInstance()
{
  idTarget_TestCommand *v0; // r3

  v0 = (idTarget_TestCommand *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x3A8u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_TestCommand::idTarget_TestCommand(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558344
// EA  : 0x82554FF8
// RVA : 0x00554FF8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558344(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idTarget_TestCommand@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82555020
// RVA : 0x00555020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestCommand *__fastcall idTarget_TestCommand::CallEvent(
        idTarget_TestCommand *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  char v9; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idTarget_TestCommand *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else if ( event->eventnum == 621 )
  {
    idTarget_TestCommand::Event_TimerEvent(this: (idTarget_TestCommand *)&v9, result);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    return this;
  }
  else
  {
    idTarget_Test::CallEvent(this, result, event, args);
    return this;
  }
}


// ========================================================================
// ?CreateInstance@idTarget_TestOverrideStatus@@SAPAVidClass@@XZ
// EA  : 0x825550E0
// RVA : 0x005550E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestOverrideStatus *__fastcall idTarget_TestOverrideStatus::CreateInstance()
{
  idTarget_TestOverrideStatus *v0; // r3

  v0 = (idTarget_TestOverrideStatus *)idMem::AllocWithLocation(
                                        this: &mem,
                                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                        size: 0x398u,
                                        tag: TAG_NEW,
                                        zeroBuffer: false,
                                        align: ALIGN_16,
                                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_TestOverrideStatus::idTarget_TestOverrideStatus(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558463
// EA  : 0x82555148
// RVA : 0x00555148
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558463(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idDrone@@SAPAVidClass@@XZ
// EA  : 0x82555178
// RVA : 0x00555178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDrone *__fastcall idDrone::CreateInstance()
{
  idDrone *v0; // r3

  v0 = (idDrone *)idMem::AllocWithLocation(
                    this: &mem,
                    location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                    size: 0x32E8u,
                    tag: TAG_NEW,
                    zeroBuffer: false,
                    align: ALIGN_16,
                    heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idDrone::idDrone(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558552
// EA  : 0x825551E0
// RVA : 0x005551E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558552(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idDrone@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82555208
// RVA : 0x00555208
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDrone *__fastcall idDrone::CastTo(idDrone *c)
{
  idDrone *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idDrone::Type.typeNum || (v4 = v2 <= idDrone::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?IsTypeOf@idDrone@@SA_NPBVidClass@@@Z
// EA  : 0x825552A0
// RVA : 0x005552A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

int __fastcall idDrone::IsTypeOf(idClass *c)
{
  int v1; // r11
  char v2; // r11
  bool v3; // zf
  unsigned __int8 v4; // r11

  if ( c == nullptr )
    return 0;
  v1 = *(_DWORD *)(c->GetType(this: c) + 36);
  if ( v1 < idDrone::Type.typeNum || (v3 = v1 <= idDrone::Type.lastChild, v2 = 1, !v3) )
    v2 = 0;
  v3 = v2 != 0;
  v4 = 1;
  if ( !v3 )
    return 0;
  return v4;
}


// ========================================================================
// ?RespondsTo@idDrone@@UBA_NABVidEventDef@@@Z
// EA  : 0x82555318
// RVA : 0x00555318
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

BOOL __fastcall idDrone::RespondsTo(idDrone *this, const idEventDef *event)
{
  int eventnum; // r11

  return ((unsigned __int8 (__fastcall *)(idDrone *))this->InternalRespondsTo)(a1: this) != 0
      || (eventnum = event->eventnum) >= 478 && eventnum <= 479
      || idAnimatedEntity::RespondsTo(this, event);
}


// ========================================================================
// ?CreateInstance@idVehicleFSM@@SAPAVidClass@@XZ
// EA  : 0x82555398
// RVA : 0x00555398
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleFSM *__fastcall idVehicleFSM::CreateInstance()
{
  idVehicleFSM *v0; // r3

  v0 = (idVehicleFSM *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x160u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVehicleFSM::idVehicleFSM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558652
// EA  : 0x82555400
// RVA : 0x00555400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558652(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVehicleFSM@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82555428
// RVA : 0x00555428
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleFSM *__fastcall idVehicleFSM::CastTo(idVehicleFSM *c)
{
  idVehicleFSM *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVehicleFSM::Type.typeNum || (v4 = v2 <= idVehicleFSM::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVS_Wait@@SAPAVidClass@@XZ
// EA  : 0x825554C8
// RVA : 0x005554C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_Wait::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x6Cu,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_Wait::Type);
  v1[25] = 0;
  *v1 = &idVS_Wait::`vftable';
  v1[26] = 0;
  return (idClass *)v1;
}


// ========================================================================
// __unwind$558741
// EA  : 0x82555560
// RVA : 0x00555560
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558741(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_ds_Barricade@@SAPAVidClass@@XZ
// EA  : 0x82555590
// RVA : 0x00555590
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_ds_Barricade::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x64u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_ds_Barricade::Type);
  *v1 = &idVS_ds_Barricade::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$558834
// EA  : 0x8255561C
// RVA : 0x0055561C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558834(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_ms_Backup@@SAPAVidClass@@XZ
// EA  : 0x82555650
// RVA : 0x00555650
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVS_ms_Backup *__fastcall idVS_ms_Backup::CreateInstance()
{
  idVS_ms_Backup *v0; // r3

  v0 = (idVS_ms_Backup *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x80u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVS_ms_Backup::idVS_ms_Backup(this: v0, stateType: &idVS_ms_Backup::Type);
  else
    return nullptr;
}


// ========================================================================
// __unwind$558927
// EA  : 0x825556C0
// RVA : 0x005556C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_558927(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_as_RAM@@SAPAVidClass@@XZ
// EA  : 0x825556F0
// RVA : 0x005556F0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleState *__fastcall idVS_as_RAM::CreateInstance()
{
  idVehicleState *v0; // r3
  idVehicleState *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x70u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_as_RAM::Type);
  HIBYTE(v1[1].listeningToList) = 0;
  v1->__vftable = (idVehicleState_vtbl *)&idVS_as_RAM::`vftable';
  *(float *)&v1[1].__vftable = 0.0;
  BYTE1(v1[1].listeningToList) = 0;
  *(float *)&v1[1].listenerList = 0.0;
  return v1;
}


// ========================================================================
// __unwind$559016
// EA  : 0x82555798
// RVA : 0x00555798
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559016(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_as_ChaseShoot@@SAPAVidClass@@XZ
// EA  : 0x825557C8
// RVA : 0x005557C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVehicleState *__fastcall idVS_as_ChaseShoot::CreateInstance()
{
  idVehicleState *v0; // r3
  idVehicleState *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x70u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_as_ChaseShoot::Type);
  v1[1].__vftable = nullptr;
  v1->__vftable = (idVehicleState_vtbl *)&idVS_as_ChaseShoot::`vftable';
  *(float *)&v1[1].listeningToList = 0.0;
  v1[1].listenerList = nullptr;
  return v1;
}


// ========================================================================
// __unwind$559109
// EA  : 0x8255586C
// RVA : 0x0055586C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559109(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_as_PowerTurnShoot@@SAPAVidClass@@XZ
// EA  : 0x825558A0
// RVA : 0x005558A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_as_PowerTurnShoot::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x74u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_as_PowerTurnShoot::Type);
  v1[25] = 0;
  *v1 = &idVS_as_PowerTurnShoot::`vftable';
  v1[26] = 0;
  v1[27] = 0;
  v1[28] = 0;
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559202
// EA  : 0x82555940
// RVA : 0x00555940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559202(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_as_FireWeapon@@SAPAVidClass@@XZ
// EA  : 0x82555970
// RVA : 0x00555970
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_as_FireWeapon::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x68u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_as_FireWeapon::Type);
  v1[25] = 0;
  *v1 = &idVS_as_FireWeapon::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559295
// EA  : 0x82555A04
// RVA : 0x00555A04
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559295(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_ds_Car_Chase@@SAPAVidClass@@XZ
// EA  : 0x82555A38
// RVA : 0x00555A38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVS_ds_Car_Chase *__fastcall idVS_ds_Car_Chase::CreateInstance()
{
  idVS_ds_Car_Chase *v0; // r3

  v0 = (idVS_ds_Car_Chase *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x80u,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVS_ds_Car_Chase::idVS_ds_Car_Chase(this: v0, stateType: &idVS_ds_Car_Chase::Type);
  else
    return nullptr;
}


// ========================================================================
// __unwind$559388
// EA  : 0x82555AA8
// RVA : 0x00555AA8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559388(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CastTo@idVS_ds_Car_Chase@@SAPAV1@PAVidClass@@@Z
// EA  : 0x82555AD0
// RVA : 0x00555AD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVS_ds_Car_Chase *__fastcall idVS_ds_Car_Chase::CastTo(idVS_ds_Car_Chase *c)
{
  idVS_ds_Car_Chase *v1; // r31
  int v2; // r11
  char v3; // r11
  bool v4; // zf

  v1 = c;
  if ( c != nullptr )
  {
    v2 = *(_DWORD *)(c->GetType(this: c) + 36);
    if ( v2 < idVS_ds_Car_Chase::Type.typeNum || (v4 = v2 <= idVS_ds_Car_Chase::Type.lastChild, v3 = 1, !v4) )
      v3 = 0;
    return v3 == 0 ? nullptr : v1;
  }
  return c;
}


// ========================================================================
// ?CreateInstance@idVS_cs_WaitForTrigger@@SAPAVidClass@@XZ
// EA  : 0x82555B70
// RVA : 0x00555B70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_cs_WaitForTrigger::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x64u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_cs_WaitForTrigger::Type);
  *v1 = &idVS_cs_WaitForTrigger::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559477
// EA  : 0x82555BFC
// RVA : 0x00555BFC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559477(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_cs_WaitForVoiceOver@@SAPAVidClass@@XZ
// EA  : 0x82555C30
// RVA : 0x00555C30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_cs_WaitForVoiceOver::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x64u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_cs_WaitForVoiceOver::Type);
  *v1 = &idVS_cs_WaitForVoiceOver::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559570
// EA  : 0x82555CBC
// RVA : 0x00555CBC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559570(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_CS_WaitForPlayer@@SAPAVidClass@@XZ
// EA  : 0x82555CF0
// RVA : 0x00555CF0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_CS_WaitForPlayer::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x64u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_CS_WaitForPlayer::Type);
  *v1 = &idVS_CS_WaitForPlayer::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559663
// EA  : 0x82555D7C
// RVA : 0x00555D7C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559663(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVS_cs_EnterVehicle@@SAPAVidClass@@XZ
// EA  : 0x82555DB0
// RVA : 0x00555DB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idVS_cs_EnterVehicle::CreateInstance()
{
  idVehicleState *v0; // r3
  _DWORD *v1; // r30

  v0 = (idVehicleState *)idMem::AllocWithLocation(
                           this: &mem,
                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                           size: 0x64u,
                           tag: TAG_NEW,
                           zeroBuffer: false,
                           align: ALIGN_16,
                           heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idVehicleState::idVehicleState(this: v0, stateType: &idVS_cs_EnterVehicle::Type);
  *v1 = &idVS_cs_EnterVehicle::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$559756
// EA  : 0x82555E3C
// RVA : 0x00555E3C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559756(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idLerpKey@@SAPAVidClass@@XZ
// EA  : 0x82555E68
// RVA : 0x00555E68
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idLerpKey::CreateInstance()
{
  _DWORD *v0; // r3
  _DWORD *v1; // r31

  v0 = idMem::AllocWithLocation(
         this: &mem,
         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
         size: 0x58u,
         tag: TAG_NEW,
         zeroBuffer: false,
         align: ALIGN_16,
         heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  v0[1] = 0;
  *v0 = &idLerpKey::`vftable';
  memset(Dst: v0 + 2, Val: 0, Size: 0x50u);
  return (idClass *)v1;
}


// ========================================================================
// ?CreateInstance@idBotGoalManager_TDM@@SAPAVidClass@@XZ
// EA  : 0x82555F08
// RVA : 0x00555F08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotGoalManager_TDM *__fastcall idBotGoalManager_TDM::CreateInstance()
{
  idBotGoalManager_TDM *v0; // r3

  v0 = (idBotGoalManager_TDM *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0xCu,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotGoalManager_TDM::idBotGoalManager_TDM(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$559937
// EA  : 0x82555F70
// RVA : 0x00555F70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_559937(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idGameChallenge_DM_FFA@@SAPAVidClass@@XZ
// EA  : 0x82555FA0
// RVA : 0x00555FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idGameChallenge_DM_FFA *__fastcall idGameChallenge_DM_FFA::CreateInstance()
{
  idGameChallenge_DM_FFA *v0; // r3

  v0 = (idGameChallenge_DM_FFA *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x718u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idGameChallenge_DM_FFA::idGameChallenge_DM_FFA(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560026
// EA  : 0x82556008
// RVA : 0x00556008
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560026(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBehaviorAction@@SAPAVidClass@@XZ
// EA  : 0x82556038
// RVA : 0x00556038
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBehaviorAction *__fastcall idBehaviorAction::CreateInstance()
{
  idBehaviorAction *v0; // r3

  v0 = (idBehaviorAction *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x38u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBehaviorAction::idBehaviorAction(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560115
// EA  : 0x825560A0
// RVA : 0x005560A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560115(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBehaviorSelectorLooping@@SAPAVidClass@@XZ
// EA  : 0x825560D0
// RVA : 0x005560D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBehaviorSelectorLooping *__fastcall idBehaviorSelectorLooping::CreateInstance()
{
  idBehaviorSelectorLooping *v0; // r3

  v0 = (idBehaviorSelectorLooping *)idMem::AllocWithLocation(
                                      this: &mem,
                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                      size: 0x4Cu,
                                      tag: TAG_NEW,
                                      zeroBuffer: false,
                                      align: ALIGN_16,
                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBehaviorSelectorLooping::idBehaviorSelectorLooping(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560204
// EA  : 0x82556138
// RVA : 0x00556138
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560204(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBehaviorSequence@@SAPAVidClass@@XZ
// EA  : 0x82556168
// RVA : 0x00556168
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBehaviorSequence *__fastcall idBehaviorSequence::CreateInstance()
{
  idBehaviorSequence *v0; // r3

  v0 = (idBehaviorSequence *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x50u,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBehaviorSequence::idBehaviorSequence(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560293
// EA  : 0x825561D0
// RVA : 0x005561D0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560293(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBehaviorTemp@@SAPAVidClass@@XZ
// EA  : 0x82556200
// RVA : 0x00556200
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idBehaviorTemp::CreateInstance()
{
  idBehaviorAction *v0; // r3
  _DWORD *v1; // r30

  v0 = (idBehaviorAction *)idMem::AllocWithLocation(
                             this: &mem,
                             location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                             size: 0x38u,
                             tag: TAG_NEW,
                             zeroBuffer: false,
                             align: ALIGN_16,
                             heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idBehaviorAction::idBehaviorAction(this: v0);
  *v1 = &idBehaviorTemp::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$560382
// EA  : 0x82556284
// RVA : 0x00556284
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560382(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorDead@@SAPAVidClass@@XZ
// EA  : 0x825562B8
// RVA : 0x005562B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorDead *__fastcall idBotBehaviorDead::CreateInstance()
{
  idBotBehaviorDead *v0; // r3

  v0 = (idBotBehaviorDead *)idMem::AllocWithLocation(
                              this: &mem,
                              location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                              size: 0x3Cu,
                              tag: TAG_NEW,
                              zeroBuffer: false,
                              align: ALIGN_16,
                              heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorDead::idBotBehaviorDead(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560475
// EA  : 0x82556320
// RVA : 0x00556320
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560475(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorAlert@@SAPAVidClass@@XZ
// EA  : 0x82556350
// RVA : 0x00556350
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorAlert *__fastcall idBotBehaviorAlert::CreateInstance()
{
  idBotBehaviorAlert *v0; // r3

  v0 = (idBotBehaviorAlert *)idMem::AllocWithLocation(
                               this: &mem,
                               location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                               size: 0x4Cu,
                               tag: TAG_NEW,
                               zeroBuffer: false,
                               align: ALIGN_16,
                               heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorAlert::idBotBehaviorAlert(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560564
// EA  : 0x825563B8
// RVA : 0x005563B8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560564(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorCombat_TargetVis_CloseRange@@SAPAVidClass@@XZ
// EA  : 0x825563E8
// RVA : 0x005563E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorCombat_TargetVis_CloseRange *__fastcall idBotBehaviorCombat_TargetVis_CloseRange::CreateInstance()
{
  idBotBehaviorCombat_TargetVis_CloseRange *v0; // r3

  v0 = (idBotBehaviorCombat_TargetVis_CloseRange *)idMem::AllocWithLocation(
                                                     this: &mem,
                                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                                     size: 0x4Cu,
                                                     tag: TAG_NEW,
                                                     zeroBuffer: false,
                                                     align: ALIGN_16,
                                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorCombat_TargetVis_CloseRange::idBotBehaviorCombat_TargetVis_CloseRange(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560653
// EA  : 0x82556450
// RVA : 0x00556450
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560653(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorCombat_TargetVis_CloseRange_Thrown@@SAPAVidClass@@XZ
// EA  : 0x82556480
// RVA : 0x00556480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorCombat_TargetVis_CloseRange_Thrown *__fastcall idBotBehaviorCombat_TargetVis_CloseRange_Thrown::CreateInstance()
{
  idBotBehaviorCombat_TargetVis_CloseRange_Thrown *v0; // r3

  v0 = (idBotBehaviorCombat_TargetVis_CloseRange_Thrown *)idMem::AllocWithLocation(
                                                            this: &mem,
                                                            location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                                            size: 0x4Cu,
                                                            tag: TAG_NEW,
                                                            zeroBuffer: false,
                                                            align: ALIGN_16,
                                                            heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorCombat_TargetVis_CloseRange_Thrown::idBotBehaviorCombat_TargetVis_CloseRange_Thrown(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560742
// EA  : 0x825564E8
// RVA : 0x005564E8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560742(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorEscort@@SAPAVidClass@@XZ
// EA  : 0x82556518
// RVA : 0x00556518
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorEscort *__fastcall idBotBehaviorEscort::CreateInstance()
{
  idBotBehaviorEscort *v0; // r3

  v0 = (idBotBehaviorEscort *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x4Cu,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorEscort::idBotBehaviorEscort(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560831
// EA  : 0x82556580
// RVA : 0x00556580
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560831(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorCombat_SideStrafeEnemy@@SAPAVidClass@@XZ
// EA  : 0x825565B0
// RVA : 0x005565B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorCombat_SideStrafeEnemy *__fastcall idBotBehaviorCombat_SideStrafeEnemy::CreateInstance()
{
  idBotBehaviorCombat_SideStrafeEnemy *v0; // r3

  v0 = (idBotBehaviorCombat_SideStrafeEnemy *)idMem::AllocWithLocation(
                                                this: &mem,
                                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                                size: 0x40u,
                                                tag: TAG_NEW,
                                                zeroBuffer: false,
                                                align: ALIGN_16,
                                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorCombat_SideStrafeEnemy::idBotBehaviorCombat_SideStrafeEnemy(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$560920
// EA  : 0x82556618
// RVA : 0x00556618
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_560920(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idBotBehaviorCombat_RandomJumpAttackEnemy@@SAPAVidClass@@XZ
// EA  : 0x82556648
// RVA : 0x00556648
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idBotBehaviorCombat_RandomJumpAttackEnemy *__fastcall idBotBehaviorCombat_RandomJumpAttackEnemy::CreateInstance()
{
  idBotBehaviorCombat_RandomJumpAttackEnemy *v0; // r3

  v0 = (idBotBehaviorCombat_RandomJumpAttackEnemy *)idMem::AllocWithLocation(
                                                      this: &mem,
                                                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                                      size: 0x44u,
                                                      tag: TAG_NEW,
                                                      zeroBuffer: false,
                                                      align: ALIGN_16,
                                                      heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idBotBehaviorCombat_RandomJumpAttackEnemy::idBotBehaviorCombat_RandomJumpAttackEnemy(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$561009
// EA  : 0x825566B0
// RVA : 0x005566B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_561009(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idAnimatedEntity@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82556A30
// RVA : 0x00556A30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedEntity *__fastcall idAnimatedEntity::CallEvent(
        idAnimatedEntity *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  unsigned int v9; // r11
  double v10; // fp13
  double v11; // fp12
  idIndex<short,enum invalidJointIndex_t> *v12; // r5
  idList<idEventReceiver *,5> *v13; // r9
  double v14; // fp13
  double v15; // fp12
  idIndex<short,enum invalidJointIndex_t> *value; // r5
  eventVector *JointPos; // r3
  unsigned int v18; // r11
  int v20; // [sp+50h] [-C0h] BYREF
  int v21; // [sp+54h] [-BCh] BYREF
  int v22; // [sp+58h] [-B8h] BYREF
  int v23; // [sp+5Ch] [-B4h] BYREF
  int v24; // [sp+60h] [-B0h] BYREF
  int v25; // [sp+64h] [-ACh] BYREF
  int v26; // [sp+68h] [-A8h] BYREF
  int v27; // [sp+6Ch] [-A4h] BYREF
  int v28; // [sp+70h] [-A0h] BYREF
  int v29; // [sp+74h] [-9Ch] BYREF
  idVec3 v30; // [sp+78h] [-98h] BYREF
  idAngles v31; // [sp+88h] [-88h] BYREF
  int v32; // [sp+98h] [-78h] BYREF
  int v33; // [sp+A8h] [-68h] BYREF
  idStr v34[2]; // [sp+C0h] [-50h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAnimatedEntity *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum <= 57 )
  {
    if ( eventnum == 57 )
    {
      idAnimatedEntity::AnimEvent_DeclParticle(
        this: (idAnimatedEntity *)((char *)&v22 + 1),
        result,
        anim: (const idMD6Anim *)args->spawnId.value,
        particleDecl: (const idDeclParticle *)args[2].aas,
        jointName: *(const char **)&args[3].coverIndex);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      return this;
    }
    v9 = eventnum - 11;
    if ( v9 <= 8 )
    {
      if ( v9 != 0 )
      {
        if ( v9 == 1 )
        {
          idAnimatedEntity::AnimEvent_Sound(
            this: (idAnimatedEntity *)&v20,
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else if ( v9 == 2 )
        {
          idAnimatedEntity::AnimEvent_PitchedSound(
            this: (idAnimatedEntity *)((char *)&v20 + 1),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas,
            pitchAdj: *(float *)&args[3].coverIndex);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else if ( v9 == 3 )
        {
          idAnimatedEntity::AnimEvent_SoundVoice(
            this: (idAnimatedEntity *)((char *)&v20 + 3),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else if ( v9 == 4 )
        {
          idAnimatedEntity::AnimEvent_SoundVoice2(
            this: (idAnimatedEntity *)&v21,
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else if ( v9 == 5 )
        {
          idAnimatedEntity::AnimEvent_SoundBody(
            this: (idAnimatedEntity *)((char *)&v21 + 1),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else if ( v9 == 6 )
        {
          idAnimatedEntity::AnimEvent_SoundBody2(
            this: (idAnimatedEntity *)((char *)&v21 + 2),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
        else
        {
          if ( v9 == 7 )
            idAnimatedEntity::AnimEvent_SoundBody3(
              this: (idAnimatedEntity *)((char *)&v21 + 3),
              result,
              anim: (const idMD6Anim *)args->spawnId.value,
              shader: (const idSoundShader *)args[2].aas);
          else
            idAnimatedEntity::AnimEvent_SoundItem(
              this: (idAnimatedEntity *)&v22,
              result,
              anim: (const idMD6Anim *)args->spawnId.value,
              shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
        }
      }
      else
      {
        idAnimatedEntity::AnimEvent_SoundWeapon(
          this: (idAnimatedEntity *)((char *)&v20 + 2),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          shader: (const idSoundShader *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
      }
      return this;
    }
LABEL_70:
    idEntity::CallEvent(this, result, event, args);
    return this;
  }
  if ( eventnum > 289 )
  {
    switch ( eventnum )
    {
      case 290:
        idAnimatedEntity::AnimEvent_DetachEntity(
          this: (idAnimatedEntity *)((char *)&v25 + 1),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          entityName: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 291:
        idAnimatedEntity::AnimEvent_AttachEntity(
          this: (idAnimatedEntity *)((char *)&v25 + 2),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          entityName: (const char *)args[2].aas,
          tagName: *(const char **)&args[3].coverIndex);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 292:
        idAnimatedEntity::AnimEvent_StartFX(
          this: (idAnimatedEntity *)((char *)&v25 + 3),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          condition: (fxCondition_t)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 293:
        idAnimatedEntity::AnimEvent_StopFX(
          this: (idAnimatedEntity *)&v26,
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          condition: (fxCondition_t)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 294:
        idAnimatedEntity::AnimEvent_Trigger(
          this: (idAnimatedEntity *)((char *)&v26 + 1),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          entityName: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 295:
        idAnimatedEntity::AnimEvent_Damage(
          this: (idAnimatedEntity *)((char *)&v26 + 2),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          damageDecl: (const idDeclDamage *)args[2].aas,
          attackerName: *(const char **)&args[3].coverIndex,
          inflictorName: (const char *)args[5].spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 296:
        idAnimatedEntity::AnimEvent_RadiusDamage(
          this: (idAnimatedEntity *)((char *)&v26 + 3),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          damageDecl: (const idDeclDamage *)args[2].aas,
          tagName: *(const char **)&args[3].coverIndex);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 297:
        idAnimatedEntity::AnimEvent_Notify(
          this: (idAnimatedEntity *)&v27,
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          notifyMsg: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 298:
        idStr::idStr(this: v34, text: (const char *)args->spawnId.value);
        idPhysics_StaticMulti::UpdateTime(this: (bfx::BinaryReplayLogOut *)((char *)&v27 + 1));
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        idStr::FreeData(this: v34);
        break;
      case 299:
        idAnimatedEntity::AnimEvent_ShowKit(
          this: (idAnimatedEntity *)((char *)&v27 + 2),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          kitType: (const meshKitComponents_t)args[2].aas,
          kitName: *(const char **)&args[3].coverIndex);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 300:
        idAnimatedEntity::AnimEvent_SetSkin(
          this: (idAnimatedEntity *)((char *)&v27 + 3),
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          skinName: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      case 301:
        idAnimatedEntity::AnimEvent_Pause(
          this: (idAnimatedEntity *)&v28,
          result,
          anim: (const idMD6Anim *)args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        break;
      default:
        goto LABEL_70;
    }
  }
  else
  {
    if ( eventnum == 289 )
    {
      idAnimatedEntity::AnimEvent_FadeSoundGroup(
        this: (idAnimatedEntity *)&v25,
        result,
        anim: (const idMD6Anim *)args->spawnId.value,
        group: (const soundShaderGroups_t)args[2].aas,
        toDB: *(float *)&args[3].coverIndex,
        overSec: *(float *)&args[5].spawnId.value);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      return this;
    }
    if ( eventnum > 282 )
    {
      v18 = eventnum - 283;
      if ( v18 > 5 )
        goto LABEL_70;
      switch ( v18 )
      {
        case 1u:
          idAnimatedEntity::AnimEvent_Default(
            this: (idAnimatedEntity *)((char *)&v23 + 3),
            result,
            anim: (const idMD6Anim *)args->spawnId.value);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          break;
        case 2u:
          idAnimatedEntity::AnimEvent_ScriptFunction(
            this: (idAnimatedEntity *)&v24,
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            functionName: (const char *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          break;
        case 3u:
          idAnimatedEntity::AnimEvent_ScriptFunctionObject(
            this: (idAnimatedEntity *)((char *)&v24 + 1),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            functionName: (const char *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          break;
        case 4u:
          idAnimatedEntity::AnimEvent_SoundMusic(
            this: (idAnimatedEntity *)((char *)&v24 + 2),
            result,
            anim: (const idMD6Anim *)args->spawnId.value,
            shader: (const idSoundShader *)args[2].aas);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          break;
        default:
          if ( v18 != 0 )
            idAnimatedEntity::AnimEvent_SoundVoiceHighPrio(
              this: (idAnimatedEntity *)((char *)&v24 + 3),
              result,
              anim: (const idMD6Anim *)args->spawnId.value,
              shader: (const idSoundShader *)args[2].aas);
          else
            idAnimatedEntity::Event_StopFX(
              this: (idAnimatedEntity *)((char *)&v23 + 2),
              result,
              condition: (fxCondition_t)args->spawnId.value);
          HIBYTE(this->__vftable) = 0;
          this->listenerList = nullptr;
          break;
      }
    }
    else
    {
      if ( eventnum == 282 )
      {
        idAnimatedEntity::Event_StartFX(
          this: (idAnimatedEntity *)((char *)&v23 + 1),
          result,
          condition: (fxCondition_t)args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        return this;
      }
      if ( eventnum <= 279 )
      {
        switch ( eventnum )
        {
          case 279:
            v14 = *(float *)&args[4].aas;
            v15 = *(float *)&args[4].spawnId.value;
            value = (idIndex<short,enum invalidJointIndex_t> *)(__int16)args->spawnId.value;
            v31.pitch = *(float *)&args[3].coverIndex;
            v31.yaw = v14;
            v31.roll = v15;
            idAnimatedEntity::Event_SetJointAngle(
              this: (idAnimatedEntity *)&v23,
              result,
              jointnum: value,
              transform_type: (jointModTransform_t)args[2].aas,
              angles: &v31);
            HIBYTE(this->__vftable) = 0;
            this->listenerList = nullptr;
            return this;
          case 64:
            idAnimatedEntity::AnimEvent_AddPlayerWhiplash(
              this: (idAnimatedEntity *)((char *)&v22 + 3),
              result,
              anim: (const idMD6Anim *)args->spawnId.value,
              pitch: *(float *)&args[2].aas,
              yaw: *(float *)&args[3].coverIndex,
              roll: *(float *)&args[5].spawnId.value);
            HIBYTE(this->__vftable) = 0;
            this->listenerList = nullptr;
            return this;
          case 277:
            v13 = (idList<idEventReceiver *,5> *)idAnimatedEntity::Event_GetJointHandle(
                                                   this: (idAnimatedEntity *)&v29,
                                                   (eventInt *)result,
                                                   jointname: (const char *)args->spawnId.value)->value;
            HIBYTE(this->__vftable) = 105;
            this->listenerList = v13;
            return this;
          case 278:
            v10 = *(float *)&args[4].aas;
            v11 = *(float *)&args[4].spawnId.value;
            v12 = (idIndex<short,enum invalidJointIndex_t> *)(__int16)args->spawnId.value;
            v30.x = *(float *)&args[3].coverIndex;
            v30.y = v10;
            v30.z = v11;
            idAnimatedEntity::Event_SetJointPos(
              this: (idAnimatedEntity *)((char *)&v22 + 2),
              result,
              jointnum: v12,
              transform_type: (jointModTransform_t)args[2].aas,
              pos: &v30);
            HIBYTE(this->__vftable) = 0;
            this->listenerList = nullptr;
            return this;
          default:
            break;
        }
        goto LABEL_70;
      }
      if ( eventnum == 280 )
        JointPos = idAnimatedEntity::Event_GetJointPos(
                     this: (idAnimatedEntity *)&v33,
                     (eventVector *)result,
                     jointnum: (idIndex<short,enum invalidJointIndex_t> *)(__int16)args->spawnId.value);
      else
        JointPos = idAnimatedEntity::Event_GetJointAngle(
                     this: (idAnimatedEntity *)&v32,
                     (eventVector *)result,
                     jointnum: (idIndex<short,enum invalidJointIndex_t> *)(__int16)args->spawnId.value);
      HIBYTE(this->__vftable) = 118;
      *(float *)&this->listenerList = JointPos->value.x;
      *(float *)&this->listeningToList = JointPos->value.y;
      *(float *)&this->name.len = JointPos->value.z;
    }
  }
  return this;
}


// ========================================================================
// __unwind$566398
// EA  : 0x82557178
// RVA : 0x00557178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_566398()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 272 + 192));
}


// ========================================================================
// ?CreateInstance@idTwitchPain_JointGroup@@SAPAVidClass@@XZ
// EA  : 0x825571A0
// RVA : 0x005571A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTwitchPain_JointGroup::CreateInstance()
{
  idClass *result; // r3

  result = (idClass *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x48u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( result == nullptr )
    return nullptr;
  result->__vftable = (idClass_vtbl *)&idTwitchPain_JointGroup::`vftable';
  result[2].__vftable = (idClass_vtbl *)&result[4];
  result[1].__vftable = nullptr;
  result[3].__vftable = (idClass_vtbl *)20;
  HIBYTE(result[4].__vftable) = 0;
  result[11].__vftable = (idClass_vtbl *)20;
  result[10].__vftable = (idClass_vtbl *)&result[12];
  result[9].__vftable = nullptr;
  HIBYTE(result[12].__vftable) = 0;
  HIWORD(result[17].__vftable) = -1;
  return result;
}


// ========================================================================
// ?CallEvent@idAnimatedSimple@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82557250
// RVA : 0x00557250
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAnimatedSimple *__fastcall idAnimatedSimple::CallEvent(
        idAnimatedSimple *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAnimatedSimple *v8; // r3
  idList<idEventReceiver *,5> *value; // r9
  int v10; // r11
  idAICover *v11; // r3
  const idDeclVoiceOver *aas; // r30
  bool v13; // r28
  idEntity *Entity; // r3
  BOOL v15; // r6
  BOOL v16; // r8
  char v17; // [sp+50h] [-40h] BYREF
  char v18; // [sp+51h] [-3Fh] BYREF
  char v19; // [sp+52h] [-3Eh] BYREF
  char v20; // [sp+53h] [-3Dh] BYREF
  char v21; // [sp+54h] [-3Ch] BYREF
  char v22; // [sp+55h] [-3Bh] BYREF
  char v23; // [sp+56h] [-3Ah] BYREF
  char v24; // [sp+57h] [-39h] BYREF
  char v25; // [sp+58h] [-38h] BYREF
  char v26; // [sp+59h] [-37h] BYREF
  char v27; // [sp+5Ah] [-36h] BYREF
  char v28; // [sp+5Bh] [-35h] BYREF
  char v29; // [sp+5Ch] [-34h] BYREF
  char v30; // [sp+5Dh] [-33h] BYREF
  char v31; // [sp+5Eh] [-32h] BYREF
  char v32; // [sp+60h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAnimatedSimple *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  else
  {
    switch ( event->eventnum )
    {
      case 0x1A0:
        idAnimatedSimple::AnimEvent_VoiceOver(
          this: (idAnimatedSimple *)&v19,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value,
          vo: (const idDeclVoiceOver *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A1:
        idAnimatedSimple::AnimEvent_DetachAttachment(
          this: (idAnimatedSimple *)&v17,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value,
          slotName: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A2:
        idAnimatedSimple::AnimEvent_ReattachAttachment(
          this: (idAnimatedSimple *)&v18,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value,
          slotName: (const char *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A3:
        idAnimatedSimple::AnimEvent_StartWeaponFX(
          this: (idAnimatedSimple *)&v20,
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          condition: (fxCondition_t)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A4:
        idAnimatedSimple::AnimEvent_StopWeaponFX(
          this: (idAnimatedSimple *)&v21,
          result,
          anim: (const idMD6Anim *)args->spawnId.value,
          condition: (fxCondition_t)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A5:
        idAnimatedSimple::AnimEvent_HideModel(
          this: (idAnimatedSimple *)&v22,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value,
          model: (const idDeclMD6 *)args[2].aas);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A6:
        idAnimatedSimple::AnimEvent_ShowModel(
          this: (idAnimatedSimple *)&v23,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value,
          model: (const idDeclMD6 *)args[2].aas,
          tag: *(const char **)&args[3].coverIndex);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A7:
        idAnimatedSimple::AnimEvent_SetSceneModel(
          this: (idAnimatedSimple *)&v24,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A8:
        idAnimatedSimple::AnimEvent_ClearSceneModel(
          this: (idAnimatedSimple *)&v25,
          result,
          animHandle: (const idMD6Anim *)args->spawnId.value);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1A9:
        idAnimatedSimple::Event_PlayAnim(
          this: (idAnimatedSimple *)&v26,
          result,
          animName: (const char *)args->spawnId.value,
          loop: args[2].aas != nullptr,
          blendTime: *(_DWORD *)&args[3].coverIndex);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1AA:
        idAnimatedSimple::Event_SetAnimState(
          this: (idAnimatedSimple *)&v27,
          result,
          state: args->spawnId.value,
          blendTime: (int)args[2].aas,
          queueChangeState: *(_DWORD *)&args[3].coverIndex != 0);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1AB:
        value = (idList<idEventReceiver *,5> *)idAnimatedSimple::Event_GetAnimState(
                                                 this: (idAnimatedSimple *)&v32,
                                                 (eventInt *)result)->value;
        HIBYTE(this->__vftable) = 105;
        this->listenerList = value;
        v8 = this;
        break;
      case 0x1AC:
        idAnimatedSimple::Event_PauseAnim(
          this: (idAnimatedSimple *)&v28,
          result,
          pause: args->spawnId.value != 0,
          pauseFrame: (const int)args[2].aas,
          queuePause: *(_DWORD *)&args[3].coverIndex != 0);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1AD:
        idAnimatedSimple::Event_ShowAttachments(this: (idAnimatedSimple *)&v29, result, show: args->spawnId.value != 0);
        HIBYTE(this->__vftable) = 0;
        this->listenerList = nullptr;
        v8 = this;
        break;
      case 0x1AE:
        v10 = *(_DWORD *)&args[3].coverIndex;
        v11 = args;
        aas = (const idDeclVoiceOver *)args[2].aas;
        v13 = v10 != 0;
        Entity = (idEntity *)idEventArg::GetEntity(this: v11);
        v15 = idAnimatedSimple::Event_StartVoiceOver(
                this: (idAnimatedSimple *)&v30,
                (eventBool *)result,
                talkingTo: Entity,
                vo: aas,
                playInCombat: v13)->value;
        HIBYTE(this->__vftable) = 105;
        this->listenerList = (idList<idEventReceiver *,5> *)v15;
        v8 = this;
        break;
      case 0x1AF:
        v16 = idAnimatedSimple::Event_IsVoiceOverPlaying(
                this: (idAnimatedSimple *)&v31,
                (eventBool *)result,
                vo: (const idDeclVoiceOver *)args->spawnId.value)->value;
        HIBYTE(this->__vftable) = 105;
        this->listenerList = (idList<idEventReceiver *,5> *)v16;
        v8 = this;
        break;
      default:
        idAnimatedEntity::CallEvent(this, result, event, args);
        v8 = this;
        break;
    }
  }
  return v8;
}


// ========================================================================
// ?CreateInstance@idTarget_AnimWebChangeStateVia@@SAPAVidClass@@XZ
// EA  : 0x82557660
// RVA : 0x00557660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_AnimWebChangeStateVia *__fastcall idTarget_AnimWebChangeStateVia::CreateInstance()
{
  idTarget_AnimWebChangeStateVia *v0; // r3

  v0 = (idTarget_AnimWebChangeStateVia *)idMem::AllocWithLocation(
                                           this: &mem,
                                           location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                           size: 0x360u,
                                           tag: TAG_NEW,
                                           zeroBuffer: false,
                                           align: ALIGN_16,
                                           heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_AnimWebChangeStateVia::idTarget_AnimWebChangeStateVia(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$567420
// EA  : 0x825576C8
// RVA : 0x005576C8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567420(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInfoRoam@@SAPAVidClass@@XZ
// EA  : 0x825576F8
// RVA : 0x005576F8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idInfoRoam::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x320u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  *v1 = &idInfoRoam::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$567453
// EA  : 0x8255777C
// RVA : 0x0055777C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567453(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idInfoExportHint@@SAPAVidClass@@XZ
// EA  : 0x825577B0
// RVA : 0x005577B0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idInfoExportHint::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x340u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1->__vftable = (idEntity_vtbl *)&idInfoExportHint::`vftable';
  v1[1].__vftable = nullptr;
  v1[1].listeningToList = (idList<idEventReceiver *,5> *)20;
  v1[1].listenerList = (idList<idEventReceiver *,5> *)&v1[1].name;
  HIBYTE(v1[1].name.len) = 0;
  return v1;
}


// ========================================================================
// __unwind$567506
// EA  : 0x82557854
// RVA : 0x00557854
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567506(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTrigger_GameChallenge@@SAPAVidClass@@XZ
// EA  : 0x82557888
// RVA : 0x00557888
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTrigger_GameChallenge::CreateInstance()
{
  idTrigger *v0; // r3
  _DWORD *v1; // r30

  v0 = (idTrigger *)idMem::AllocWithLocation(
                      this: &mem,
                      location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                      size: 0x380u,
                      tag: TAG_NEW,
                      zeroBuffer: false,
                      align: ALIGN_16,
                      heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idTrigger::idTrigger(this: v0);
  *v1 = &idTrigger_GameChallenge::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$567594
// EA  : 0x8255790C
// RVA : 0x0055790C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567594(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idSoundDoor@@SAPAVidClass@@XZ
// EA  : 0x82557940
// RVA : 0x00557940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idSoundDoor *__fastcall idSoundDoor::CreateInstance()
{
  idSoundDoor *v0; // r3

  v0 = (idSoundDoor *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x350u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idSoundDoor::idSoundDoor(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$567621
// EA  : 0x825579A8
// RVA : 0x005579A8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567621(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTest_MetaData_Circle@@SAPAVidClass@@XZ
// EA  : 0x825579D8
// RVA : 0x005579D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTest_MetaData_Circle *__fastcall idTest_MetaData_Circle::CreateInstance()
{
  idTest_MetaData_Circle *v0; // r3

  v0 = (idTest_MetaData_Circle *)idMem::AllocWithLocation(
                                   this: &mem,
                                   location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                   size: 0x330u,
                                   tag: TAG_NEW,
                                   zeroBuffer: false,
                                   align: ALIGN_16,
                                   heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTest_MetaData_Circle::idTest_MetaData_Circle(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$567644
// EA  : 0x82557A40
// RVA : 0x00557A40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567644(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTest_MetaData_Fov@@SAPAVidClass@@XZ
// EA  : 0x82557A70
// RVA : 0x00557A70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTest_MetaData_Fov *__fastcall idTest_MetaData_Fov::CreateInstance()
{
  idTest_MetaData_Fov *v0; // r3

  v0 = (idTest_MetaData_Fov *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x330u,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTest_MetaData_Fov::idTest_MetaData_Fov(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$567667
// EA  : 0x82557AD8
// RVA : 0x00557AD8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567667(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTest_MetaData_WebPath@@SAPAVidClass@@XZ
// EA  : 0x82557B08
// RVA : 0x00557B08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idEntity *__fastcall idTest_MetaData_WebPath::CreateInstance()
{
  idEntity *v0; // r3
  idEntity *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x340u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = v0;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1->__vftable = (idEntity_vtbl *)&idTest_MetaData_WebPath::`vftable';
  v1[1].__vftable = nullptr;
  v1[1].listeningToList = (idList<idEventReceiver *,5> *)20;
  v1[1].listenerList = (idList<idEventReceiver *,5> *)&v1[1].name;
  HIBYTE(v1[1].name.len) = 0;
  return v1;
}


// ========================================================================
// __unwind$567690
// EA  : 0x82557BAC
// RVA : 0x00557BAC
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_567690(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CallEvent@idPanzerHund@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82557BE0
// RVA : 0x00557BE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idPanzerHund *__fastcall idPanzerHund::CallEvent(
        idPanzerHund *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  int eventnum; // r11
  idStr *v9; // r3
  int v11; // [sp+50h] [-A0h] BYREF
  idStr v12; // [sp+60h] [-90h] BYREF
  idStr v13; // [sp+80h] [-70h] BYREF
  idStr v14[2]; // [sp+A0h] [-50h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) == 0 )
  {
    eventnum = event->eventnum;
    if ( eventnum == 677 )
    {
      idStr::idStr(this: v14, text: (const char *)args[2].aas);
      idPanzerHund::Action_ChangeAnimState(
        this: (idPanzerHund *)((char *)&v11 + 1),
        result,
        animweb: (const aiAnimWeb_t)args->spawnId.value,
        destNode: (const idAnimWebPath *)v14,
        waitType: *(const aiAnimWait_t *)&args[3].coverIndex);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      v9 = v14;
    }
    else
    {
      if ( eventnum != 678 )
      {
        idAnimated_AnimWeb::CallEvent(this, result, event, args);
        return this;
      }
      idStr::idStr(this: &v13, text: *(const char **)&args[3].coverIndex);
      idStr::idStr(this: &v12, text: (const char *)args[2].aas);
      idPanzerHund::Action_ChangeAnimStateVia(
        this: (idPanzerHund *)&v11,
        result,
        animweb: (const aiAnimWeb_t)args->spawnId.value,
        destNode: (const idAnimWebPath *)&v12,
        viaNode: (const idAnimWebPath *)&v13,
        wait: (const aiAnimWait_t)args[5].spawnId.value);
      HIBYTE(this->__vftable) = 0;
      this->listenerList = nullptr;
      idStr::FreeData(this: &v12);
      v9 = &v13;
    }
    idStr::FreeData(this: v9);
    return this;
  }
  (*(void (__fastcall **)(idPanzerHund *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
    a1: this,
    a2: result,
    a3: event,
    a4: args);
  return this;
}


// ========================================================================
// __unwind$567774
// EA  : 0x82557D08
// RVA : 0x00557D08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_567774()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 240 + 128));
}


// ========================================================================
// __unwind$567775
// EA  : 0x82557D30
// RVA : 0x00557D30
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_567775()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 240 + 96));
}


// ========================================================================
// __unwind$567773
// EA  : 0x82557D58
// RVA : 0x00557D58
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_567773()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 240 + 160));
}


// ========================================================================
// ?CallEvent@idAction_LoopAnim@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82557D88
// RVA : 0x00557D88
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_LoopAnim *__fastcall idAction_LoopAnim::CallEvent(
        idAction_LoopAnim *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v8; // r3
  int v9; // r28
  idEntity *Entity; // r3
  idAction_LoopAnim v12[3]; // [sp+50h] [-60h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_LoopAnim *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  }
  else if ( event->eventnum == 714 )
  {
    idStr::idStr(this: (idStr *)&v12[0].childFSMType, text: (const char *)args[2].aas);
    v8 = args;
    v9 = *(_DWORD *)&args[3].coverIndex;
    Entity = (idEntity *)idEventArg::GetEntity(this: v8);
    idAction_LoopAnim::Action_LoopAnimEnter(
      this: v12,
      result,
      entity: Entity,
      animRef: (const idAnimWebPath *)&v12[0].childFSMType,
      waitTimeMS: v9);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    idStr::FreeData(this: (idStr *)&v12[0].childFSMType);
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
  }
  return this;
}


// ========================================================================
// __unwind$567894
// EA  : 0x82557E64
// RVA : 0x00557E64
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_567894()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 176 + 96));
}


// ========================================================================
// ?CallEvent@idAction_ForceAnimState@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82557E98
// RVA : 0x00557E98
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idAction_ForceAnimState *__fastcall idAction_ForceAnimState::CallEvent(
        idAction_ForceAnimState *this,
        eventVoid *result,
        const idEventDef *event,
        idAICover *args)
{
  idAICover *v8; // r3
  aiAnimWait_t aas; // r27
  int value; // r26
  aiAnimWeb_t v11; // r29
  idEntity *Entity; // r3
  idAction_ForceAnimState v14[4]; // [sp+50h] [-70h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idAction_ForceAnimState *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
  }
  else if ( event->eventnum == 720 )
  {
    idStr::idStr(this: (idStr *)&v14[0].childFSMType, text: *(const char **)&args[3].coverIndex);
    v8 = args;
    aas = (aiAnimWait_t)args[7].aas;
    value = args[5].spawnId.value;
    v11 = (aiAnimWeb_t)args[2].aas;
    Entity = (idEntity *)idEventArg::GetEntity(this: v8);
    idAction_ForceAnimState::Action_ForceAnimStateEnter(
      this: v14,
      result,
      entity: Entity,
      aw: v11,
      destNode: (const idAnimWebPath *)&v14[0].childFSMType,
      blendDurationMS: value,
      wait: aas);
    HIBYTE(this->__vftable) = 0;
    this->listenerList = nullptr;
    idStr::FreeData(this: (idStr *)&v14[0].childFSMType);
  }
  else
  {
    idCombat_Melee::CallEvent(
      (idBotBehaviorCombat_CrouchAttackEnemy *)this,
      (idEventArg *)result,
      event,
      (const idEventArg *)args);
  }
  return this;
}


// ========================================================================
// __unwind$567947
// EA  : 0x82557F84
// RVA : 0x00557F84
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void _unwind_567947()
{
  int v0; // r12

  idStrStatic<260>::~idStrStatic<260>(this: (idStr *)(v0 - 192 + 96));
}


// ========================================================================
// ?CallEvent@idDrone@@UAA?AVidEventArg@@ABVidEventDef@@PBV2@@Z
// EA  : 0x82557FB0
// RVA : 0x00557FB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idDrone *__fastcall idDrone::CallEvent(idDrone *this, eventVoid *result, const idEventDef *event, idAICover *args)
{
  int eventnum; // r11
  bfx::BinaryReplayLogOut v10; // [sp+50h] [-30h] BYREF

  if ( (*(unsigned __int8 (__fastcall **)(eventVoid *, const idEventDef *))(*(_DWORD *)result + 20))(
         a1: result,
         a2: event) != 0 )
  {
    (*(void (__fastcall **)(idDrone *, eventVoid *, const idEventDef *, idAICover *))(*(_DWORD *)result + 16))(
      a1: this,
      a2: result,
      a3: event,
      a4: args);
    return this;
  }
  eventnum = event->eventnum;
  if ( eventnum == 478 )
  {
    idPhysics_StaticMulti::UpdateTime(this: (bfx::BinaryReplayLogOut *)((char *)&v10.__vftable + 1));
  }
  else
  {
    if ( eventnum != 479 )
    {
      idAnimatedEntity::CallEvent(this, result, event, args);
      return this;
    }
    idPhysics_StaticMulti::UpdateTime(this: &v10);
  }
  this->listenerList = nullptr;
  HIBYTE(this->__vftable) = 0;
  return this;
}


// ========================================================================
// ?CreateInstance@idPlayerStart@@SAPAVidClass@@XZ
// EA  : 0x82558628
// RVA : 0x00558628
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idPlayerStart *__fastcall idPlayerStart::CreateInstance()
{
  idPlayerStart *v0; // r3

  v0 = (idPlayerStart *)idMem::AllocWithLocation(
                          this: &mem,
                          location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                          size: 0x338u,
                          tag: TAG_NEW,
                          zeroBuffer: false,
                          align: ALIGN_16,
                          heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idPlayerStart::idPlayerStart(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$568738
// EA  : 0x82558690
// RVA : 0x00558690
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_568738(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idCameraView@@SAPAVidClass@@XZ
// EA  : 0x825586C0
// RVA : 0x005586C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idCameraView *__fastcall idCameraView::CreateInstance()
{
  idCameraView *v0; // r3

  v0 = (idCameraView *)idMem::AllocWithLocation(
                         this: &mem,
                         location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                         size: 0x370u,
                         tag: TAG_NEW,
                         zeroBuffer: false,
                         align: ALIGN_16,
                         heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idCameraView::idCameraView(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$568761
// EA  : 0x82558728
// RVA : 0x00558728
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_568761(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idVolume_DynamicJob@@SAPAVidClass@@XZ
// EA  : 0x82558758
// RVA : 0x00558758
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idVolume_DynamicJob *__fastcall idVolume_DynamicJob::CreateInstance()
{
  idVolume_DynamicJob *v0; // r3

  v0 = (idVolume_DynamicJob *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x378u,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idVolume_DynamicJob::idVolume_DynamicJob(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$568784
// EA  : 0x825587C0
// RVA : 0x005587C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_568784(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idProp_Loot@@SAPAVidClass@@XZ
// EA  : 0x82558E08
// RVA : 0x00558E08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idProp_Loot *__fastcall idProp_Loot::CreateInstance()
{
  idProp_Loot *v0; // r3

  v0 = (idProp_Loot *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x1B88u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idProp_Loot::idProp_Loot(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$569435
// EA  : 0x82558E70
// RVA : 0x00558E70
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569435(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idRoamSpawn@@SAPAVidClass@@XZ
// EA  : 0x82558EA0
// RVA : 0x00558EA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idRoamSpawn *__fastcall idRoamSpawn::CreateInstance()
{
  idRoamSpawn *v0; // r3

  v0 = (idRoamSpawn *)idMem::AllocWithLocation(
                        this: &mem,
                        location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                        size: 0x340u,
                        tag: TAG_NEW,
                        zeroBuffer: false,
                        align: ALIGN_16,
                        heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idRoamSpawn::idRoamSpawn(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$569482
// EA  : 0x82558F08
// RVA : 0x00558F08
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569482(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_LayerChange2@@SAPAVidClass@@XZ
// EA  : 0x82558F38
// RVA : 0x00558F38
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_LayerChange2 *__fastcall idTarget_LayerChange2::CreateInstance()
{
  idTarget_LayerChange2 *v0; // r3

  v0 = (idTarget_LayerChange2 *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x330u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_LayerChange2::idTarget_LayerChange2(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$569505
// EA  : 0x82558FA0
// RVA : 0x00558FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569505(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_Path@@SAPAVidClass@@XZ
// EA  : 0x82558FD0
// RVA : 0x00558FD0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTarget_Path::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x328u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  *v1 = &idTarget_Path::`vftable';
  v1[200] = 0x1FFF;
  return (idClass *)v1;
}


// ========================================================================
// __unwind$569528
// EA  : 0x82559064
// RVA : 0x00559064
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569528(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_AICommand@@SAPAVidClass@@XZ
// EA  : 0x82559098
// RVA : 0x00559098
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idTarget_AICommand::CreateInstance()
{
  idEntity *v0; // r3
  _DWORD *v1; // r30

  v0 = (idEntity *)idMem::AllocWithLocation(
                     this: &mem,
                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                     size: 0x338u,
                     tag: TAG_NEW,
                     zeroBuffer: false,
                     align: ALIGN_16,
                     heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idEntity::idEntity(this: v0);
  v1[200] = 0;
  *v1 = &idTarget_AICommand::`vftable';
  v1[201] = 0;
  v1[202] = 0x1FFF;
  v1[203] = 0;
  v1[204] = 0x1FFF;
  return (idClass *)v1;
}


// ========================================================================
// __unwind$569654
// EA  : 0x82559148
// RVA : 0x00559148
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569654(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_ToggleTraversal@@SAPAVidClass@@XZ
// EA  : 0x82559178
// RVA : 0x00559178
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ToggleTraversal *__fastcall idTarget_ToggleTraversal::CreateInstance()
{
  idTarget_ToggleTraversal *v0; // r3

  v0 = (idTarget_ToggleTraversal *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x338u,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_ToggleTraversal::idTarget_ToggleTraversal(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$569879
// EA  : 0x825591E0
// RVA : 0x005591E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569879(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idProp_VehicleArmor@@SAPAVidClass@@XZ
// EA  : 0x825592D8
// RVA : 0x005592D8
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idClass *__fastcall idProp_VehicleArmor::CreateInstance()
{
  idProp_VehiclePickup *v0; // r3
  _DWORD *v1; // r30

  v0 = (idProp_VehiclePickup *)idMem::AllocWithLocation(
                                 this: &mem,
                                 location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                 size: 0x1B88u,
                                 tag: TAG_NEW,
                                 zeroBuffer: false,
                                 align: ALIGN_16,
                                 heap: HEAP_DEFAULTHEAP);
  v1 = &v0->__vftable;
  if ( v0 == nullptr )
    return nullptr;
  idProp_VehiclePickup::idProp_VehiclePickup(this: v0);
  *v1 = &idProp_VehicleArmor::`vftable';
  return (idClass *)v1;
}


// ========================================================================
// __unwind$569976
// EA  : 0x8255935C
// RVA : 0x0055935C
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_569976(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_TestPlayerState@@SAPAVidClass@@XZ
// EA  : 0x82559700
// RVA : 0x00559700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_TestPlayerState *__fastcall idTarget_TestPlayerState::CreateInstance()
{
  idTarget_TestPlayerState *v0; // r3

  v0 = (idTarget_TestPlayerState *)idMem::AllocWithLocation(
                                     this: &mem,
                                     location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                     size: 0x380u,
                                     tag: TAG_NEW,
                                     zeroBuffer: false,
                                     align: ALIGN_16,
                                     heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_TestPlayerState::idTarget_TestPlayerState(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$570234
// EA  : 0x82559768
// RVA : 0x00559768
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_570234(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_AttachItem@@SAPAVidClass@@XZ
// EA  : 0x82559928
// RVA : 0x00559928
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_AttachItem *__fastcall idTarget_AttachItem::CreateInstance()
{
  idTarget_AttachItem *v0; // r3

  v0 = (idTarget_AttachItem *)idMem::AllocWithLocation(
                                this: &mem,
                                location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                size: 0x330u,
                                tag: TAG_NEW,
                                zeroBuffer: false,
                                align: ALIGN_16,
                                heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_AttachItem::idTarget_AttachItem(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$570341
// EA  : 0x82559990
// RVA : 0x00559990
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_570341(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// ?CreateInstance@idTarget_ActionScript@@SAPAVidClass@@XZ
// EA  : 0x82559CB0
// RVA : 0x00559CB0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

idTarget_ActionScript *__fastcall idTarget_ActionScript::CreateInstance()
{
  idTarget_ActionScript *v0; // r3

  v0 = (idTarget_ActionScript *)idMem::AllocWithLocation(
                                  this: &mem,
                                  location: "w:\\tech5\\shared\\idlib\\Heap.h(28) : TAG_NEW",
                                  size: 0x330u,
                                  tag: TAG_NEW,
                                  zeroBuffer: false,
                                  align: ALIGN_16,
                                  heap: HEAP_DEFAULTHEAP);
  if ( v0 != nullptr )
    return idTarget_ActionScript::idTarget_ActionScript(this: v0);
  else
    return nullptr;
}


// ========================================================================
// __unwind$570645
// EA  : 0x82559D18
// RVA : 0x00559D18
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __fastcall _unwind_570645(int a1, memTag_t a2)
{
  int v2; // r12

  operator delete(p: *(void **)(v2 - 112 + 80), tag: a2);
}


// ========================================================================
// `dynamic initializer for 'idEventReceiver::Type''
// EA  : 0x8332C980
// RVA : 0x0132C980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEventReceiver::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEventReceiver::Type,
    classname: "idEventReceiver",
    superclass: "idClass",
    size: 12,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idEventReceiver::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEventReceiver::Type__);
}


// ========================================================================
// `dynamic initializer for 'idEvent::Type''
// EA  : 0x8332C9E0
// RVA : 0x0132C9E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEvent::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEvent::Type,
    classname: "idEvent",
    superclass: "idClass",
    size: 196,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idEvent::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEvent::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAnimatedEntity::Type''
// EA  : 0x8332CA40
// RVA : 0x0132CA40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAnimatedEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAnimatedEntity::Type,
    classname: "idAnimatedEntity",
    superclass: "idEntity",
    size: 5200,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAnimatedEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idAnimatedEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAnimatedEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSound::Type''
// EA  : 0x8332CAA0
// RVA : 0x0132CAA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSound::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSound::Type,
    classname: "idSound",
    superclass: "idEntity",
    size: 1016,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idSound::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idSound::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSound::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTwitchPain_JointGroup::Type''
// EA  : 0x8332CB00
// RVA : 0x0132CB00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTwitchPain_JointGroup::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTwitchPain_JointGroup::Type,
    classname: "idTwitchPain_JointGroup",
    superclass: "idClass",
    size: 72,
    abstract: false,
    CreateInstance: idTwitchPain_JointGroup::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTwitchPain_JointGroup::Type__);
}


// ========================================================================
// `dynamic initializer for 'idEntityEmitter::Type''
// EA  : 0x8332CB60
// RVA : 0x0132CB60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEntityEmitter::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEntityEmitter::Type,
    classname: "idEntityEmitter",
    superclass: "idEntity",
    size: 888,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idEntityEmitter::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntityEmitter::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEntityEmitter::Type__);
}


// ========================================================================
// `dynamic initializer for 'idHealthItem::Type''
// EA  : 0x8332CBC0
// RVA : 0x0132CBC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idHealthItem::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idHealthItem::Type,
    classname: "idHealthItem",
    superclass: "idInventoryItem",
    size: 40,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idHealthItem::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idHealthItem::Type__);
}


// ========================================================================
// `dynamic initializer for 'idThrowableItem::Type''
// EA  : 0x8332CC20
// RVA : 0x0132CC20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idThrowableItem::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idThrowableItem::Type,
    classname: "idThrowableItem",
    superclass: "idInventoryItem",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idThrowableItem::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idThrowableItem::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicleUpgrade::Type''
// EA  : 0x8332CC80
// RVA : 0x0132CC80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicleUpgrade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicleUpgrade::Type,
    classname: "idVehicleUpgrade",
    superclass: "idInventoryItem",
    size: 48,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicleUpgrade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicleUpgrade::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSecretItem::Type''
// EA  : 0x8332CCE0
// RVA : 0x0132CCE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSecretItem::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSecretItem::Type,
    classname: "idSecretItem",
    superclass: "idInventoryItem",
    size: 48,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idSecretItem::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSecretItem::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicle_Shockwave::Type''
// EA  : 0x8332CD40
// RVA : 0x0132CD40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicle_Shockwave::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicle_Shockwave::Type,
    classname: "idVehicle_Shockwave",
    superclass: "idVehicleQuickItem",
    size: 64,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicle_Shockwave::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicle_Shockwave::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicle_Teleporter::Type''
// EA  : 0x8332CDA0
// RVA : 0x0132CDA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicle_Teleporter::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicle_Teleporter::Type,
    classname: "idVehicle_Teleporter",
    superclass: "idVehicleQuickItem",
    size: 136,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicle_Teleporter::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicle_Teleporter::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicle_Stomp::Type''
// EA  : 0x8332CE00
// RVA : 0x0132CE00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicle_Stomp::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicle_Stomp::Type,
    classname: "idVehicle_Stomp",
    superclass: "idVehicleQuickItem",
    size: 64,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicle_Stomp::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicle_Stomp::Type__);
}


// ========================================================================
// `dynamic initializer for 'idThrowableFilter::Type''
// EA  : 0x8332CE60
// RVA : 0x0132CE60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idThrowableFilter::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idThrowableFilter::Type,
    classname: "idThrowableFilter",
    superclass: "idItemFilter",
    size: 12,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idThrowableFilter::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idThrowableFilter::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAmmoSelector::Type''
// EA  : 0x8332CEC0
// RVA : 0x0132CEC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAmmoSelector::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAmmoSelector::Type,
    classname: "idAmmoSelector",
    superclass: "idThrowableSelector",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAmmoSelector::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAmmoSelector::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAmmoSelector_ClubMutant::Type''
// EA  : 0x8332CF20
// RVA : 0x0132CF20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAmmoSelector_ClubMutant::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAmmoSelector_ClubMutant::Type,
    classname: "idAmmoSelector_ClubMutant",
    superclass: "idAmmoSelector",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAmmoSelector_ClubMutant::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAmmoSelector_ClubMutant::Type__);
}


// ========================================================================
// `dynamic initializer for 'idActorModifierManager::Type''
// EA  : 0x8332CF80
// RVA : 0x0132CF80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idActorModifierManager::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idActorModifierManager::Type,
    classname: "idActorModifierManager",
    superclass: "idEventReceiver",
    size: 14332,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idActorModifierManager::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idActorModifierManager::Type__);
}


// ========================================================================
// `dynamic initializer for 'idLayer::Type''
// EA  : 0x8332CFE0
// RVA : 0x0132CFE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idLayer::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idLayer::Type,
    classname: "idLayer",
    superclass: "idClass",
    size: 40,
    abstract: false,
    CreateInstance: idLayer::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idLayer::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSpecialEvent::Type''
// EA  : 0x8332D040
// RVA : 0x0132D040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSpecialEvent::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSpecialEvent::Type,
    classname: "idSpecialEvent",
    superclass: "idClass",
    size: 8,
    abstract: false,
    CreateInstance: idSpecialEvent::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSpecialEvent::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIPlayerInteractionMemory::Type''
// EA  : 0x8332D0A0
// RVA : 0x0132D0A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIPlayerInteractionMemory::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIPlayerInteractionMemory::Type,
    classname: "idAIPlayerInteractionMemory",
    superclass: "idClass",
    size: 68,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIPlayerInteractionMemory::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIPlayerInteractionMemory::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProjectile_Grenade::Type''
// EA  : 0x8332D100
// RVA : 0x0132D100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProjectile_Grenade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProjectile_Grenade::Type,
    classname: "idProjectile_Grenade",
    superclass: "idProjectile",
    size: 6136,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProjectile_Grenade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProjectile_Grenade::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProjectile_Grenade::Type__);
}


// ========================================================================
// `dynamic initializer for 'idMultiplayerTrigger::Type''
// EA  : 0x8332D160
// RVA : 0x0132D160
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idMultiplayerTrigger::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idMultiplayerTrigger::Type,
    classname: "idMultiplayerTrigger",
    superclass: "idTrigger",
    size: 896,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idMultiplayerTrigger::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idMultiplayerTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idMultiplayerTrigger::Type__);
}


// ========================================================================
// `dynamic initializer for 'idFaceMgr::Type''
// EA  : 0x8332D1C0
// RVA : 0x0132D1C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idFaceMgr::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idFaceMgr::Type,
    classname: "idFaceMgr",
    superclass: "idClass",
    size: 1940,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idFaceMgr::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idFaceMgr::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIVar::Type''
// EA  : 0x8332D220
// RVA : 0x0132D220
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIVar::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIVar::Type,
    classname: "idAIVar",
    superclass: "idClass",
    size: 36,
    abstract: true,
    CreateInstance: idAIVar::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIVar::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIEventSound::Type''
// EA  : 0x8332D280
// RVA : 0x0132D280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIEventSound::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIEventSound::Type,
    classname: "idAIEventSound",
    superclass: "idAIEventSphere",
    size: 52,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIEventSound::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIEventSound::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIEvent_DelayedVO::Type''
// EA  : 0x8332D2E0
// RVA : 0x0132D2E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIEvent_DelayedVO::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIEvent_DelayedVO::Type,
    classname: "idAIEvent_DelayedVO",
    superclass: "idAIEvent",
    size: 52,
    abstract: false,
    CreateInstance: idAIEvent_DelayedVO::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIEvent_DelayedVO::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIEventPool::Type''
// EA  : 0x8332D340
// RVA : 0x0132D340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIEventPool::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIEventPool::Type,
    classname: "idAIEventPool",
    superclass: "idClass",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIEventPool::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIEventPool::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicleCover::Type''
// EA  : 0x8332D3A0
// RVA : 0x0132D3A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicleCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicleCover::Type,
    classname: "idVehicleCover",
    superclass: "idDynamicCover",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicleCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicleCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAchievementManager::Type''
// EA  : 0x8332D400
// RVA : 0x0132D400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAchievementManager::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAchievementManager::Type,
    classname: "idAchievementManager",
    superclass: "idClass",
    size: 8080,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAchievementManager::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAchievementManager::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerStart::Type''
// EA  : 0x8332D460
// RVA : 0x0132D460
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerStart::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerStart::Type,
    classname: "idPlayerStart",
    superclass: "idSpawnNode",
    size: 824,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idPlayerStart::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerStart::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicleAI::Type''
// EA  : 0x8332D4C0
// RVA : 0x0132D4C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicleAI::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicleAI::Type,
    classname: "idVehicleAI",
    superclass: "idEntity",
    size: 9528,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicleAI::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idVehicleAI::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicleAI::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAFEntity_Generic::Type''
// EA  : 0x8332D520
// RVA : 0x0132D520
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAFEntity_Generic::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAFEntity_Generic::Type,
    classname: "idAFEntity_Generic",
    superclass: "idAnimatedEntity",
    size: 6848,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAFEntity_Generic::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idAFEntity_Generic::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAFEntity_Generic::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicleOccupant_ATV::Type''
// EA  : 0x8332D580
// RVA : 0x0132D580
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicleOccupant_ATV::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicleOccupant_ATV::Type,
    classname: "idVehicleOccupant_ATV",
    superclass: "idVehicleOccupant",
    size: 11408,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicleOccupant_ATV::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idVehicleOccupant_ATV::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicleOccupant_ATV::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSplinePathMM::Type''
// EA  : 0x8332D5E0
// RVA : 0x0132D5E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSplinePathMM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSplinePathMM::Type,
    classname: "idSplinePathMM",
    superclass: "idEntity",
    size: 1008,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idSplinePathMM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idSplinePathMM::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSplinePathMM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSplinePathWithOrientation::Type''
// EA  : 0x8332D640
// RVA : 0x0132D640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSplinePathWithOrientation::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSplinePathWithOrientation::Type,
    classname: "idSplinePathWithOrientation",
    superclass: "idSplinePath",
    size: 912,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idSplinePathWithOrientation::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idSplinePathWithOrientation::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSplinePathWithOrientation::Type__);
}


// ========================================================================
// `dynamic initializer for 'idStaticEntity::Type''
// EA  : 0x8332D6A0
// RVA : 0x0132D6A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idStaticEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idStaticEntity::Type,
    classname: "idStaticEntity",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idStaticEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idStaticEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idStaticEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'idElectricBoltEmitter::Type''
// EA  : 0x8332D700
// RVA : 0x0132D700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idElectricBoltEmitter::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idElectricBoltEmitter::Type,
    classname: "idElectricBoltEmitter",
    superclass: "idDynamicEntity",
    size: 944,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idElectricBoltEmitter::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idElectricBoltEmitter::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idElectricBoltEmitter::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInventoryStorage::Type''
// EA  : 0x8332D760
// RVA : 0x0132D760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInventoryStorage::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInventoryStorage::Type,
    classname: "idInventoryStorage",
    superclass: "idEntity",
    size: 1616,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInventoryStorage::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInventoryStorage::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInventoryStorage::Type__);
}


// ========================================================================
// `dynamic initializer for 'idGuiEntity::Type''
// EA  : 0x8332D7C0
// RVA : 0x0132D7C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idGuiEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idGuiEntity::Type,
    classname: "idGuiEntity",
    superclass: "idDynamicEntity",
    size: 944,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idGuiEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idGuiEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idGuiEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'idDynamicJob::Type''
// EA  : 0x8332D820
// RVA : 0x0132D820
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idDynamicJob::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idDynamicJob::Type,
    classname: "idDynamicJob",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idDynamicJob::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idDynamicJob::Type__);
}


// ========================================================================
// `dynamic initializer for 'idRandomLoot::Type''
// EA  : 0x8332D880
// RVA : 0x0132D880
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idRandomLoot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idRandomLoot::Type,
    classname: "idRandomLoot",
    superclass: "idEntity",
    size: 824,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idRandomLoot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idRandomLoot::Type__);
}


// ========================================================================
// `dynamic initializer for 'idLoot_Blocker::Type''
// EA  : 0x8332D8E0
// RVA : 0x0132D8E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idLoot_Blocker::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idLoot_Blocker::Type,
    classname: "idLoot_Blocker",
    superclass: "idEntity",
    size: 872,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idLoot_Blocker::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idLoot_Blocker::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idLoot_Blocker::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAnimatedSimple::Type''
// EA  : 0x8332D940
// RVA : 0x0132D940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAnimatedSimple::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAnimatedSimple::Type,
    classname: "idAnimatedSimple",
    superclass: "idAnimatedEntity",
    size: 7656,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAnimatedSimple::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idAnimatedSimple::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAnimatedSimple::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_AnimWebChangeStateVia::Type''
// EA  : 0x8332D9A0
// RVA : 0x0132D9A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_AnimWebChangeStateVia::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_AnimWebChangeStateVia::Type,
    classname: "idTarget_AnimWebChangeStateVia",
    superclass: "idEntity",
    size: 864,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_AnimWebChangeStateVia::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_AnimWebChangeStateVia::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProjectile_Arrow::Type''
// EA  : 0x8332DA00
// RVA : 0x0132DA00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProjectile_Arrow::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProjectile_Arrow::Type,
    classname: "idProjectile_Arrow",
    superclass: "idProjectile",
    size: 6176,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProjectile_Arrow::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProjectile_Rocket::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProjectile_Arrow::Type__);
}


// ========================================================================
// `dynamic initializer for 'idLight::Type''
// EA  : 0x8332DA60
// RVA : 0x0132DA60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idLight::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idLight::Type,
    classname: "idLight",
    superclass: "idEntity",
    size: 1112,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idLight::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idLight::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idLight::Type__);
}


// ========================================================================
// `dynamic initializer for 'idEnvArea::Type''
// EA  : 0x8332DAC0
// RVA : 0x0132DAC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEnvArea::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEnvArea::Type,
    classname: "idEnvArea",
    superclass: "idLight",
    size: 1112,
    abstract: false,
    CreateInstance: idEnvArea::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idLight::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEnvArea::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCameraView::Type''
// EA  : 0x8332DB20
// RVA : 0x0132DB20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCameraView::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCameraView::Type,
    classname: "idCameraView",
    superclass: "idCamera",
    size: 880,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idCameraView::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idCameraView::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCameraView::Type__);
}


// ========================================================================
// `dynamic initializer for 'idEntityCamera::Type''
// EA  : 0x8332DB80
// RVA : 0x0132DB80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEntityCamera::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEntityCamera::Type,
    classname: "idEntityCamera",
    superclass: "idUtilityCamera",
    size: 976,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idEntityCamera::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ShakeTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEntityCamera::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTownGarageCamera::Type''
// EA  : 0x8332DBE0
// RVA : 0x0132DBE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTownGarageCamera::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTownGarageCamera::Type,
    classname: "idTownGarageCamera",
    superclass: "idEntityCamera",
    size: 1176,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTownGarageCamera::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ShakeTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTownGarageCamera::Type__);
}


// ========================================================================
// `dynamic initializer for 'idReviveCamera::Type''
// EA  : 0x8332DC40
// RVA : 0x0132DC40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idReviveCamera::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idReviveCamera::Type,
    classname: "idReviveCamera",
    superclass: "idCameraView",
    size: 880,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idReviveCamera::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idCameraView::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idReviveCamera::Type__);
}


// ========================================================================
// `dynamic initializer for 'idThrownCamera::Type''
// EA  : 0x8332DCA0
// RVA : 0x0132DCA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idThrownCamera::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idThrownCamera::Type,
    classname: "idThrownCamera",
    superclass: "idCameraView",
    size: 904,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idThrownCamera::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idCameraView::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idThrownCamera::Type__);
}


// ========================================================================
// `dynamic initializer for 'idFreeCamera::Type''
// EA  : 0x8332DD00
// RVA : 0x0132DD00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idFreeCamera::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idFreeCamera::Type,
    classname: "idFreeCamera",
    superclass: "idCameraView",
    size: 968,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idFreeCamera::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idCameraView::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idFreeCamera::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVolume_Repairs::Type''
// EA  : 0x8332DD60
// RVA : 0x0132DD60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVolume_Repairs::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVolume_Repairs::Type,
    classname: "idVolume_Repairs",
    superclass: "idVolume",
    size: 840,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVolume_Repairs::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idVolume::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVolume_Repairs::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVolume_DamageMultiplier::Type''
// EA  : 0x8332DDC0
// RVA : 0x0132DDC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVolume_DamageMultiplier::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVolume_DamageMultiplier::Type,
    classname: "idVolume_DamageMultiplier",
    superclass: "idVolume",
    size: 832,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVolume_DamageMultiplier::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idVolume::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVolume_DamageMultiplier::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVolume_DynamicJob::Type''
// EA  : 0x8332DE20
// RVA : 0x0132DE20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVolume_DynamicJob::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVolume_DynamicJob::Type,
    classname: "idVolume_DynamicJob",
    superclass: "idVolume",
    size: 888,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVolume_DynamicJob::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVolume_DynamicJob::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVolume_ForceDormant::Type''
// EA  : 0x8332DE80
// RVA : 0x0132DE80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVolume_ForceDormant::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVolume_ForceDormant::Type,
    classname: "idVolume_ForceDormant",
    superclass: "idVolume",
    size: 848,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVolume_ForceDormant::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idVolume_ForceDormant::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVolume_ForceDormant::Type__);
}


// ========================================================================
// `dynamic initializer for 'idScenePoint_UserGroup::Type''
// EA  : 0x8332DEE0
// RVA : 0x0132DEE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idScenePoint_UserGroup::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idScenePoint_UserGroup::Type,
    classname: "idScenePoint_UserGroup",
    superclass: "idInfo",
    size: 800,
    abstract: false,
    CreateInstance: idScenePoint_UserGroup::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfo::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idScenePoint_UserGroup::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoFocus::Type''
// EA  : 0x8332DF40
// RVA : 0x0132DF40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoFocus::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoFocus::Type,
    classname: "idInfoFocus",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoFocus::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoFocus::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoPath::Type''
// EA  : 0x8332DFA0
// RVA : 0x0132DFA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoPath::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoPath::Type,
    classname: "idInfoPath",
    superclass: "idInfo",
    size: 912,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoPath::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoPath::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoPath::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIHint::Type''
// EA  : 0x8332E000
// RVA : 0x0132E000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIHint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIHint::Type,
    classname: "idAIHint",
    superclass: "idInfo",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIHint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfo::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIHint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAICombatHint::Type''
// EA  : 0x8332E060
// RVA : 0x0132E060
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAICombatHint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAICombatHint::Type,
    classname: "idAICombatHint",
    superclass: "idAIHint",
    size: 864,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAICombatHint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idAICombatHint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAICombatHint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAISearchHintAuto::Type''
// EA  : 0x8332E0C0
// RVA : 0x0132E0C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAISearchHintAuto::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAISearchHintAuto::Type,
    classname: "idAISearchHintAuto",
    superclass: "idAIAASHint",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAISearchHintAuto::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoExportHint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAISearchHintAuto::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoRoam::Type''
// EA  : 0x8332E120
// RVA : 0x0132E120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoRoam::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoRoam::Type,
    classname: "idInfoRoam",
    superclass: "idInfo",
    size: 800,
    abstract: false,
    CreateInstance: idInfoRoam::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfo::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoRoam::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoStaticReflection::Type''
// EA  : 0x8332E180
// RVA : 0x0132E180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoStaticReflection::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoStaticReflection::Type,
    classname: "idInfoStaticReflection",
    superclass: "idInfo",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoStaticReflection::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoExportHint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoStaticReflection::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoSpawnPoint::Type''
// EA  : 0x8332E1E0
// RVA : 0x0132E1E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoSpawnPoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoSpawnPoint::Type,
    classname: "idInfoSpawnPoint",
    superclass: "idInfo",
    size: 800,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoSpawnPoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfo::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoSpawnPoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoExportHint::Type''
// EA  : 0x8332E240
// RVA : 0x0132E240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoExportHint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoExportHint::Type,
    classname: "idInfoExportHint",
    superclass: "idInfo",
    size: 832,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoExportHint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoExportHint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoExportHint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoLookTarget::Type''
// EA  : 0x8332E2A0
// RVA : 0x0132E2A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoLookTarget::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoLookTarget::Type,
    classname: "idInfoLookTarget",
    superclass: "idInfo",
    size: 848,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoLookTarget::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoLookTarget::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoLinkSegment::Type''
// EA  : 0x8332E300
// RVA : 0x0132E300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoLinkSegment::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoLinkSegment::Type,
    classname: "idInfoLinkSegment",
    superclass: "idInfo",
    size: 968,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoLinkSegment::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoLinkSegment::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoLinkSegment::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInfoNavFlightVolume::Type''
// EA  : 0x8332E360
// RVA : 0x0132E360
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInfoNavFlightVolume::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInfoNavFlightVolume::Type,
    classname: "idInfoNavFlightVolume",
    superclass: "idInfo",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idInfoNavFlightVolume::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idInfoNavFlightVolume::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInfoNavFlightVolume::Type__);
}


// ========================================================================
// `dynamic initializer for 'idScenePoint_Roam::Type''
// EA  : 0x8332E3C0
// RVA : 0x0132E3C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idScenePoint_Roam::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idScenePoint_Roam::Type,
    classname: "idScenePoint_Roam",
    superclass: "idScenePoint",
    size: 880,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idScenePoint_Roam::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idScenePoint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idScenePoint_Roam::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger::Type''
// EA  : 0x8332E420
// RVA : 0x0132E420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger::Type,
    classname: "idTrigger",
    superclass: "idEntity",
    size: 896,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTrigger::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger_DamageType::Type''
// EA  : 0x8332E480
// RVA : 0x0132E480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger_DamageType::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger_DamageType::Type,
    classname: "idTrigger_DamageType",
    superclass: "idTrigger",
    size: 912,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTrigger_DamageType::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTrigger_DamageType::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger_DamageType::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger_GameChallenge::Type''
// EA  : 0x8332E4E0
// RVA : 0x0132E4E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger_GameChallenge::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger_GameChallenge::Type,
    classname: "idTrigger_GameChallenge",
    superclass: "idTrigger",
    size: 896,
    abstract: false,
    CreateInstance: idTrigger_GameChallenge::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger_GameChallenge::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger_BoostPad::Type''
// EA  : 0x8332E540
// RVA : 0x0132E540
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger_BoostPad::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger_BoostPad::Type,
    classname: "idTrigger_BoostPad",
    superclass: "idTrigger",
    size: 936,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTrigger_BoostPad::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTrigger_BoostPad::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger_BoostPad::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger_AIInteraction::Type''
// EA  : 0x8332E5A0
// RVA : 0x0132E5A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger_AIInteraction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger_AIInteraction::Type,
    classname: "idTrigger_AIInteraction",
    superclass: "idTrigger",
    size: 912,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTrigger_AIInteraction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger_AIInteraction::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTrigger_OpenDoor::Type''
// EA  : 0x8332E600
// RVA : 0x0132E600
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTrigger_OpenDoor::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTrigger_OpenDoor::Type,
    classname: "idTrigger_OpenDoor",
    superclass: "idTrigger",
    size: 912,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTrigger_OpenDoor::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTrigger_OpenDoor::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTrigger_OpenDoor::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSoundDoor::Type''
// EA  : 0x8332E660
// RVA : 0x0132E660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSoundDoor::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSoundDoor::Type,
    classname: "idSoundDoor",
    superclass: "idEntity",
    size: 848,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idSoundDoor::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idSoundDoor::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSoundDoor::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_FadeSoundChannel::Type''
// EA  : 0x8332E6C0
// RVA : 0x0132E6C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_FadeSoundChannel::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_FadeSoundChannel::Type,
    classname: "idTarget_FadeSoundChannel",
    superclass: "idEntity",
    size: 824,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_FadeSoundChannel::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_FadeSoundChannel::Type__);
}


// ========================================================================
// `dynamic initializer for 'idScriptMapEntity::Type''
// EA  : 0x8332E720
// RVA : 0x0132E720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idScriptMapEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idScriptMapEntity::Type,
    classname: "idScriptMapEntity",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idScriptMapEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idScriptMapEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idScriptMapEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_ContinuallyUsed::Type''
// EA  : 0x8332E780
// RVA : 0x0132E780
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_ContinuallyUsed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_ContinuallyUsed::Type,
    classname: "idProp_ContinuallyUsed",
    superclass: "idProp_Usable",
    size: 5352,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_ContinuallyUsed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_Usable::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_ContinuallyUsed::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_Loot::Type''
// EA  : 0x8332E7E0
// RVA : 0x0132E7E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_Loot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_Loot::Type,
    classname: "idProp_Loot",
    superclass: "idProp_Moveable",
    size: 7048,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_Loot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_Loot::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_Loot::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_AIArmor::Type''
// EA  : 0x8332E840
// RVA : 0x0132E840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_AIArmor::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_AIArmor::Type,
    classname: "idProp_AIArmor",
    superclass: "idProp_Moveable",
    size: 7032,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_AIArmor::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_Moveable::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_AIArmor::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_VehicleJump::Type''
// EA  : 0x8332E8A0
// RVA : 0x0132E8A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_VehicleJump::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_VehicleJump::Type,
    classname: "idProp_VehicleJump",
    superclass: "idProp_Breakable",
    size: 7240,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_VehicleJump::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_VehicleJump::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_VehicleJump::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_VehicleArmor::Type''
// EA  : 0x8332E900
// RVA : 0x0132E900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_VehicleArmor::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_VehicleArmor::Type,
    classname: "idProp_VehicleArmor",
    superclass: "idProp_VehiclePickup",
    size: 7048,
    abstract: false,
    CreateInstance: idProp_VehicleArmor::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_VehiclePickup::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_VehicleArmor::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_JobPosting::Type''
// EA  : 0x8332E960
// RVA : 0x0132E960
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_JobPosting::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_JobPosting::Type,
    classname: "idProp_JobPosting",
    superclass: "idProp_Usable",
    size: 5288,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_JobPosting::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_JobPosting::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_JobPosting::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombiner::Type''
// EA  : 0x8332E9C0
// RVA : 0x0132E9C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombiner::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombiner::Type,
    classname: "idCombiner",
    superclass: "idUse",
    size: 920,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idCombiner::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idUse::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombiner::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_MissionPin::Type''
// EA  : 0x8332EA20
// RVA : 0x0132EA20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_MissionPin::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_MissionPin::Type,
    classname: "idProp_MissionPin",
    superclass: "idUse",
    size: 1008,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_MissionPin::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_MissionPin::Type__);
}


// ========================================================================
// `dynamic initializer for 'idProp_BatteryChargePoint::Type''
// EA  : 0x8332EA80
// RVA : 0x0132EA80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idProp_BatteryChargePoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idProp_BatteryChargePoint::Type,
    classname: "idProp_BatteryChargePoint",
    superclass: "idProp_ContinuallyUsed",
    size: 5408,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idProp_BatteryChargePoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idProp_BatteryChargePoint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idProp_BatteryChargePoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idDoor_Laser::Type''
// EA  : 0x8332EAE0
// RVA : 0x0132EAE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idDoor_Laser::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idDoor_Laser::Type,
    classname: "idDoor_Laser",
    superclass: "idVolume",
    size: 920,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idDoor_Laser::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idDoor_Laser::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idDoor_Laser::Type__);
}


// ========================================================================
// `dynamic initializer for 'idRoamSpawn::Type''
// EA  : 0x8332EB40
// RVA : 0x0132EB40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idRoamSpawn::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idRoamSpawn::Type,
    classname: "idRoamSpawn",
    superclass: "idEntity",
    size: 832,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idRoamSpawn::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idRoamSpawn::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idRoamSpawn::Type__);
}


// ========================================================================
// `dynamic initializer for 'idEntityFx::Type''
// EA  : 0x8332EBA0
// RVA : 0x0132EBA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idEntityFx::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idEntityFx::Type,
    classname: "idEntityFx",
    superclass: "idDynamicEntity",
    size: 904,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idEntityFx::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntityFx::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idEntityFx::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTest_AimPoint::Type''
// EA  : 0x8332EC00
// RVA : 0x0132EC00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTest_AimPoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTest_AimPoint::Type,
    classname: "idTest_AimPoint",
    superclass: "idEntity",
    size: 864,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTest_AimPoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTest_AimPoint::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTest_AimPoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTest_MetaData_Circle::Type''
// EA  : 0x8332EC60
// RVA : 0x0132EC60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTest_MetaData_Circle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTest_MetaData_Circle::Type,
    classname: "idTest_MetaData_Circle",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTest_MetaData_Circle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTest_MetaData_Circle::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTest_MetaData_Fov::Type''
// EA  : 0x8332ECC0
// RVA : 0x0132ECC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTest_MetaData_Fov::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTest_MetaData_Fov::Type,
    classname: "idTest_MetaData_Fov",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTest_MetaData_Fov::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTest_MetaData_Fov::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTest_MetaData_Cylinder2::Type''
// EA  : 0x8332ED20
// RVA : 0x0132ED20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTest_MetaData_Cylinder2::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTest_MetaData_Cylinder2::Type,
    classname: "idTest_MetaData_Cylinder2",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTest_MetaData_Cylinder2::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTest_MetaData_Cylinder2::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTest_MetaData_WebPath::Type''
// EA  : 0x8332ED80
// RVA : 0x0132ED80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTest_MetaData_WebPath::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTest_MetaData_WebPath::Type,
    classname: "idTest_MetaData_WebPath",
    superclass: "idEntity",
    size: 832,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTest_MetaData_WebPath::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTest_MetaData_WebPath::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPanzerHund::Type''
// EA  : 0x8332EDE0
// RVA : 0x0132EDE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPanzerHund::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPanzerHund::Type,
    classname: "idPanzerHund",
    superclass: "idAnimated_AnimWeb",
    size: 7208,
    abstract: false,
    CreateInstance: idPanzerHund::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPanzerHund::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPanzerHund::Type__);
}


// ========================================================================
// `dynamic initializer for 'mgFuncSaveGame::Type''
// EA  : 0x8332EE40
// RVA : 0x0132EE40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__mgFuncSaveGame::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &mgFuncSaveGame::Type,
    classname: "mgFuncSaveGame",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())mgFuncSaveGame::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__mgFuncSaveGame::Type__);
}


// ========================================================================
// `dynamic initializer for 'mgFunc_CaptureFrames::Type''
// EA  : 0x8332EEA0
// RVA : 0x0132EEA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__mgFunc_CaptureFrames::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &mgFunc_CaptureFrames::Type,
    classname: "mgFunc_CaptureFrames",
    superclass: "idEntity",
    size: 856,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())mgFunc_CaptureFrames::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__mgFunc_CaptureFrames::Type__);
}


// ========================================================================
// `dynamic initializer for 'idExplodable::Type''
// EA  : 0x8332EF00
// RVA : 0x0132EF00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idExplodable::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idExplodable::Type,
    classname: "idExplodable",
    superclass: "idEntity",
    size: 872,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idExplodable::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idExplodable::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idExplodable::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIBehaviors::Type''
// EA  : 0x8332EF60
// RVA : 0x0132EF60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIBehaviors::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIBehaviors::Type,
    classname: "idAIBehaviors",
    superclass: "idClass",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIBehaviors::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIBehaviors::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIActionFSM::Type''
// EA  : 0x8332EFC0
// RVA : 0x0132EFC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIActionFSM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIActionFSM::Type,
    classname: "idAIActionFSM",
    superclass: "idAIFSM",
    size: 164,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIActionFSM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIActionFSM::Type__);
}


// ========================================================================
// `dynamic initializer for 'Shared_UnhandledError::Type''
// EA  : 0x8332F020
// RVA : 0x0132F020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__Shared_UnhandledError::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &Shared_UnhandledError::Type,
    classname: "Shared_UnhandledError",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: Shared_UnhandledError::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__Shared_UnhandledError::Type__);
}


// ========================================================================
// `dynamic initializer for 'SEARCH_MoveToPoint::Type''
// EA  : 0x8332F080
// RVA : 0x0132F080
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__SEARCH_MoveToPoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &SEARCH_MoveToPoint::Type,
    classname: "SEARCH_MoveToPoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: SEARCH_MoveToPoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__SEARCH_MoveToPoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSearch_Intro::Type''
// EA  : 0x8332F0E0
// RVA : 0x0132F0E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSearch_Intro::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSearch_Intro::Type,
    classname: "idSearch_Intro",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idSearch_Intro::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSearch_Intro::Type__);
}


// ========================================================================
// `dynamic initializer for 'SEARCH_MoveToPointDone::Type''
// EA  : 0x8332F140
// RVA : 0x0132F140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__SEARCH_MoveToPointDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &SEARCH_MoveToPointDone::Type,
    classname: "SEARCH_MoveToPointDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: SEARCH_MoveToPointDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__SEARCH_MoveToPointDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'SEARCH_PerformAction::Type''
// EA  : 0x8332F1A0
// RVA : 0x0132F1A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__SEARCH_PerformAction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &SEARCH_PerformAction::Type,
    classname: "SEARCH_PerformAction",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: SEARCH_PerformAction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__SEARCH_PerformAction::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSearch_PerformAction::Type''
// EA  : 0x8332F200
// RVA : 0x0132F200
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSearch_PerformAction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSearch_PerformAction::Type,
    classname: "idSearch_PerformAction",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idSearch_PerformAction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSearch_PerformAction::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_VOFinished::Type''
// EA  : 0x8332F260
// RVA : 0x0132F260
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_VOFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_VOFinished::Type,
    classname: "PCI_VOFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_VOFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_VOFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_VOFinished_With_Delay::Type''
// EA  : 0x8332F2C0
// RVA : 0x0132F2C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_VOFinished_With_Delay::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_VOFinished_With_Delay::Type,
    classname: "PCI_VOFinished_With_Delay",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_VOFinished_With_Delay::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_VOFinished_With_Delay::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_ShouldProcessInteraction::Type''
// EA  : 0x8332F320
// RVA : 0x0132F320
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_ShouldProcessInteraction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_ShouldProcessInteraction::Type,
    classname: "PCI_ShouldProcessInteraction",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_ShouldProcessInteraction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_ShouldProcessInteraction::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_StartInteraction::Type''
// EA  : 0x8332F380
// RVA : 0x0132F380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_StartInteraction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_StartInteraction::Type,
    classname: "PCI_StartInteraction",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_StartInteraction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_StartInteraction::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_MoveToInteractionPoint::Type''
// EA  : 0x8332F3E0
// RVA : 0x0132F3E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_MoveToInteractionPoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_MoveToInteractionPoint::Type,
    classname: "PCI_MoveToInteractionPoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_MoveToInteractionPoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_MoveToInteractionPoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_ShouldDeliverJobCompleteVO_EARLY::Type''
// EA  : 0x8332F440
// RVA : 0x0132F440
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_ShouldDeliverJobCompleteVO_EARLY::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_ShouldDeliverJobCompleteVO_EARLY::Type,
    classname: "PCI_ShouldDeliverJobCompleteVO_EARLY",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_ShouldDeliverJobCompleteVO_EARLY::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_ShouldDeliverJobCompleteVO_EARLY::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_ProcessEmptyInteraction::Type''
// EA  : 0x8332F4A0
// RVA : 0x0132F4A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_ProcessEmptyInteraction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_ProcessEmptyInteraction::Type,
    classname: "idPlayerInteract_ProcessEmptyInteraction",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_ProcessEmptyInteraction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_ProcessEmptyInteraction::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_ShouldDeliverJobFailedVO::Type''
// EA  : 0x8332F500
// RVA : 0x0132F500
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_ShouldDeliverJobFailedVO::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_ShouldDeliverJobFailedVO::Type,
    classname: "PCI_ShouldDeliverJobFailedVO",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_ShouldDeliverJobFailedVO::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_ShouldDeliverJobFailedVO::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_ProcessInteraction::Type''
// EA  : 0x8332F560
// RVA : 0x0132F560
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_ProcessInteraction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_ProcessInteraction::Type,
    classname: "idPlayerInteract_ProcessInteraction",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_ProcessInteraction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_ProcessInteraction::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_NonJobDeliverJobCompleteVO::Type''
// EA  : 0x8332F5C0
// RVA : 0x0132F5C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_NonJobDeliverJobCompleteVO::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_NonJobDeliverJobCompleteVO::Type,
    classname: "idPlayerInteract_NonJobDeliverJobCompleteVO",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_NonJobDeliverJobCompleteVO::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_NonJobDeliverJobCompleteVO::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_DeliverJobFailedVO::Type''
// EA  : 0x8332F620
// RVA : 0x0132F620
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_DeliverJobFailedVO::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_DeliverJobFailedVO::Type,
    classname: "idPlayerInteract_DeliverJobFailedVO",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_DeliverJobFailedVO::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_DeliverJobFailedVO::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_WaitForJobChoice::Type''
// EA  : 0x8332F680
// RVA : 0x0132F680
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_WaitForJobChoice::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_WaitForJobChoice::Type,
    classname: "idPlayerInteract_WaitForJobChoice",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_WaitForJobChoice::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_WaitForJobChoice::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_PlayerLeft::Type''
// EA  : 0x8332F6E0
// RVA : 0x0132F6E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_PlayerLeft::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_PlayerLeft::Type,
    classname: "idPlayerInteract_PlayerLeft",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_PlayerLeft::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_PlayerLeft::Type__);
}


// ========================================================================
// `dynamic initializer for 'idPlayerInteract_MerchantInteractLoop::Type''
// EA  : 0x8332F740
// RVA : 0x0132F740
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idPlayerInteract_MerchantInteractLoop::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idPlayerInteract_MerchantInteractLoop::Type,
    classname: "idPlayerInteract_MerchantInteractLoop",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idPlayerInteract_MerchantInteractLoop::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idPlayerInteract_MerchantInteractLoop::Type__);
}


// ========================================================================
// `dynamic initializer for 'PCI_WaitFinished::Type''
// EA  : 0x8332F7A0
// RVA : 0x0132F7A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__PCI_WaitFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &PCI_WaitFinished::Type,
    classname: "PCI_WaitFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: PCI_WaitFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__PCI_WaitFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'ITF_Track::Type''
// EA  : 0x8332F800
// RVA : 0x0132F800
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ITF_Track::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ITF_Track::Type,
    classname: "ITF_Track",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ITF_Track::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ITF_Track::Type__);
}


// ========================================================================
// `dynamic initializer for 'idIdleTrackFriendly_Track::Type''
// EA  : 0x8332F860
// RVA : 0x0132F860
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idIdleTrackFriendly_Track::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idIdleTrackFriendly_Track::Type,
    classname: "idIdleTrackFriendly_Track",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idIdleTrackFriendly_Track::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idIdleTrackFriendly_Track::Type__);
}


// ========================================================================
// `dynamic initializer for 'FOLLOWFRIENDLY_NoTarget::Type''
// EA  : 0x8332F8C0
// RVA : 0x0132F8C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__FOLLOWFRIENDLY_NoTarget::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &FOLLOWFRIENDLY_NoTarget::Type,
    classname: "FOLLOWFRIENDLY_NoTarget",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: FOLLOWFRIENDLY_NoTarget::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__FOLLOWFRIENDLY_NoTarget::Type__);
}


// ========================================================================
// `dynamic initializer for 'FOLLOWFRIENDLY_PathBlocked::Type''
// EA  : 0x8332F920
// RVA : 0x0132F920
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__FOLLOWFRIENDLY_PathBlocked::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &FOLLOWFRIENDLY_PathBlocked::Type,
    classname: "FOLLOWFRIENDLY_PathBlocked",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: FOLLOWFRIENDLY_PathBlocked::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__FOLLOWFRIENDLY_PathBlocked::Type__);
}


// ========================================================================
// `dynamic initializer for 'idFollowFriendly_Default::Type''
// EA  : 0x8332F980
// RVA : 0x0132F980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idFollowFriendly_Default::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idFollowFriendly_Default::Type,
    classname: "idFollowFriendly_Default",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idFollowFriendly_Default::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idFollowFriendly_Default::Type__);
}


// ========================================================================
// `dynamic initializer for 'idFollowFriendly_MoveToTarget::Type''
// EA  : 0x8332F9E0
// RVA : 0x0132F9E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idFollowFriendly_MoveToTarget::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idFollowFriendly_MoveToTarget::Type,
    classname: "idFollowFriendly_MoveToTarget",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idFollowFriendly_MoveToTarget::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idFollowFriendly_MoveToTarget::Type__);
}


// ========================================================================
// `dynamic initializer for 'idFollowFriendly_BackAwayBlocked::Type''
// EA  : 0x8332FA40
// RVA : 0x0132FA40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idFollowFriendly_BackAwayBlocked::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idFollowFriendly_BackAwayBlocked::Type,
    classname: "idFollowFriendly_BackAwayBlocked",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idFollowFriendly_BackAwayBlocked::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idFollowFriendly_BackAwayBlocked::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_HasFollowPath::Type''
// EA  : 0x8332FAA0
// RVA : 0x0132FAA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_HasFollowPath::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_HasFollowPath::Type,
    classname: "RELAXED_HasFollowPath",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_HasFollowPath::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_HasFollowPath::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_ShouldInvestigateBody::Type''
// EA  : 0x8332FB00
// RVA : 0x0132FB00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_ShouldInvestigateBody::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_ShouldInvestigateBody::Type,
    classname: "RELAXED_ShouldInvestigateBody",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_ShouldInvestigateBody::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_ShouldInvestigateBody::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_ShouldReturnToSpawnPos::Type''
// EA  : 0x8332FB60
// RVA : 0x0132FB60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_ShouldReturnToSpawnPos::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_ShouldReturnToSpawnPos::Type,
    classname: "RELAXED_ShouldReturnToSpawnPos",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_ShouldReturnToSpawnPos::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_ShouldReturnToSpawnPos::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_FollowFriendlyDone::Type''
// EA  : 0x8332FBC0
// RVA : 0x0132FBC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_FollowFriendlyDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_FollowFriendlyDone::Type,
    classname: "RELAXED_FollowFriendlyDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_FollowFriendlyDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_FollowFriendlyDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'idRelaxed_FollowPath::Type''
// EA  : 0x8332FC20
// RVA : 0x0132FC20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idRelaxed_FollowPath::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idRelaxed_FollowPath::Type,
    classname: "idRelaxed_FollowPath",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idRelaxed_FollowPath::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idRelaxed_FollowPath::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_PlugAnimDone::Type''
// EA  : 0x8332FC80
// RVA : 0x0132FC80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_PlugAnimDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_PlugAnimDone::Type,
    classname: "RELAXED_PlugAnimDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_PlugAnimDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_PlugAnimDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_PlayerInteractDone::Type''
// EA  : 0x8332FCE0
// RVA : 0x0132FCE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_PlayerInteractDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_PlayerInteractDone::Type,
    classname: "RELAXED_PlayerInteractDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_PlayerInteractDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_PlayerInteractDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_InvestigateBodyDone::Type''
// EA  : 0x8332FD40
// RVA : 0x0132FD40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_InvestigateBodyDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_InvestigateBodyDone::Type,
    classname: "RELAXED_InvestigateBodyDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_InvestigateBodyDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_InvestigateBodyDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'RELAXED_WaitExpired::Type''
// EA  : 0x8332FDA0
// RVA : 0x0132FDA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RELAXED_WaitExpired::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RELAXED_WaitExpired::Type,
    classname: "RELAXED_WaitExpired",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RELAXED_WaitExpired::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RELAXED_WaitExpired::Type__);
}


// ========================================================================
// `dynamic initializer for 'MELEE_NoTarget::Type''
// EA  : 0x8332FE00
// RVA : 0x0132FE00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__MELEE_NoTarget::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &MELEE_NoTarget::Type,
    classname: "MELEE_NoTarget",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: MELEE_NoTarget::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__MELEE_NoTarget::Type__);
}


// ========================================================================
// `dynamic initializer for 'idMelee_Default::Type''
// EA  : 0x8332FE60
// RVA : 0x0132FE60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idMelee_Default::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idMelee_Default::Type,
    classname: "idMelee_Default",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idMelee_Default::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idMelee_Default::Type__);
}


// ========================================================================
// `dynamic initializer for 'MELEE_RepositionDone::Type''
// EA  : 0x8332FEC0
// RVA : 0x0132FEC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__MELEE_RepositionDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &MELEE_RepositionDone::Type,
    classname: "MELEE_RepositionDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: MELEE_RepositionDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__MELEE_RepositionDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_ReloadWeaponSoon::Type''
// EA  : 0x8332FF20
// RVA : 0x0132FF20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_ReloadWeaponSoon::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_ReloadWeaponSoon::Type,
    classname: "IC_ReloadWeaponSoon",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_ReloadWeaponSoon::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_ReloadWeaponSoon::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_AvoidGrenade::Type''
// EA  : 0x8332FF80
// RVA : 0x0132FF80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_AvoidGrenade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_AvoidGrenade::Type,
    classname: "IC_AvoidGrenade",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_AvoidGrenade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_AvoidGrenade::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_AvoidAim::Type''
// EA  : 0x8332FFE0
// RVA : 0x0132FFE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_AvoidAim::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_AvoidAim::Type,
    classname: "IC_AvoidAim",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_AvoidAim::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_AvoidAim::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInCover_Default::Type''
// EA  : 0x83330040
// RVA : 0x01330040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInCover_Default::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInCover_Default::Type,
    classname: "idInCover_Default",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idInCover_Default::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInCover_Default::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_EnemyClose::Type''
// EA  : 0x833300A0
// RVA : 0x013300A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_EnemyClose::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_EnemyClose::Type,
    classname: "IC_EnemyClose",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_EnemyClose::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_EnemyClose::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_PossiblyThrowGrenade::Type''
// EA  : 0x83330100
// RVA : 0x01330100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_PossiblyThrowGrenade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_PossiblyThrowGrenade::Type,
    classname: "IC_PossiblyThrowGrenade",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_PossiblyThrowGrenade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_PossiblyThrowGrenade::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInCover_LeanIn::Type''
// EA  : 0x83330160
// RVA : 0x01330160
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInCover_LeanIn::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInCover_LeanIn::Type,
    classname: "idInCover_LeanIn",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idInCover_LeanIn::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInCover_LeanIn::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_CoverExpiredFinished::Type''
// EA  : 0x833301C0
// RVA : 0x013301C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_CoverExpiredFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_CoverExpiredFinished::Type,
    classname: "IC_CoverExpiredFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_CoverExpiredFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_CoverExpiredFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_EnemyCloseFinished::Type''
// EA  : 0x83330220
// RVA : 0x01330220
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_EnemyCloseFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_EnemyCloseFinished::Type,
    classname: "IC_EnemyCloseFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_EnemyCloseFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_EnemyCloseFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_NoContactFinished::Type''
// EA  : 0x83330280
// RVA : 0x01330280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_NoContactFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_NoContactFinished::Type,
    classname: "IC_NoContactFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_NoContactFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_NoContactFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'IC_ThrowFinished::Type''
// EA  : 0x833302E0
// RVA : 0x013302E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__IC_ThrowFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &IC_ThrowFinished::Type,
    classname: "IC_ThrowFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: IC_ThrowFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__IC_ThrowFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInCover_Hide::Type''
// EA  : 0x83330340
// RVA : 0x01330340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInCover_Hide::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInCover_Hide::Type,
    classname: "idInCover_Hide",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idInCover_Hide::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInCover_Hide::Type__);
}


// ========================================================================
// `dynamic initializer for 'idInCover_Blindfire::Type''
// EA  : 0x833303A0
// RVA : 0x013303A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idInCover_Blindfire::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idInCover_Blindfire::Type,
    classname: "idInCover_Blindfire",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idInCover_Blindfire::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idInCover_Blindfire::Type__);
}


// ========================================================================
// `dynamic initializer for 'TC_ReachedCover::Type''
// EA  : 0x83330400
// RVA : 0x01330400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TC_ReachedCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TC_ReachedCover::Type,
    classname: "TC_ReachedCover",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TC_ReachedCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TC_ReachedCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'TC_MoveFailedPathingFailed::Type''
// EA  : 0x83330460
// RVA : 0x01330460
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TC_MoveFailedPathingFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TC_MoveFailedPathingFailed::Type,
    classname: "TC_MoveFailedPathingFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TC_MoveFailedPathingFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TC_MoveFailedPathingFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'TC_ShouldDodge::Type''
// EA  : 0x833304C0
// RVA : 0x013304C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TC_ShouldDodge::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TC_ShouldDodge::Type,
    classname: "TC_ShouldDodge",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TC_ShouldDodge::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TC_ShouldDodge::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTakeCover_Dodge::Type''
// EA  : 0x83330520
// RVA : 0x01330520
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTakeCover_Dodge::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTakeCover_Dodge::Type,
    classname: "idTakeCover_Dodge",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idTakeCover_Dodge::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTakeCover_Dodge::Type__);
}


// ========================================================================
// `dynamic initializer for 'TC_StartOpenCombat::Type''
// EA  : 0x83330580
// RVA : 0x01330580
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TC_StartOpenCombat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TC_StartOpenCombat::Type,
    classname: "TC_StartOpenCombat",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TC_StartOpenCombat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TC_StartOpenCombat::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTakeCover_InCover::Type''
// EA  : 0x833305E0
// RVA : 0x013305E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTakeCover_InCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTakeCover_InCover::Type,
    classname: "idTakeCover_InCover",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idTakeCover_InCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTakeCover_InCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ShouldMoveToSightEnemy::Type''
// EA  : 0x83330640
// RVA : 0x01330640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ShouldMoveToSightEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ShouldMoveToSightEnemy::Type,
    classname: "OC_ShouldMoveToSightEnemy",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ShouldMoveToSightEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ShouldMoveToSightEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_MoveFailed::Type''
// EA  : 0x833306A0
// RVA : 0x013306A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_MoveFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_MoveFailed::Type,
    classname: "OC_MoveFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_MoveFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_MoveFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ReachedAttackPos::Type''
// EA  : 0x83330700
// RVA : 0x01330700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ReachedAttackPos::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ReachedAttackPos::Type,
    classname: "OC_ReachedAttackPos",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ReachedAttackPos::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ReachedAttackPos::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ShouldShoot::Type''
// EA  : 0x83330760
// RVA : 0x01330760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ShouldShoot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ShouldShoot::Type,
    classname: "OC_ShouldShoot",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ShouldShoot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ShouldShoot::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_IsCrouched::Type''
// EA  : 0x833307C0
// RVA : 0x013307C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_IsCrouched::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_IsCrouched::Type,
    classname: "OC_IsCrouched",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_IsCrouched::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_IsCrouched::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ShouldReloadEnemyOutOfAAS::Type''
// EA  : 0x83330820
// RVA : 0x01330820
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ShouldReloadEnemyOutOfAAS::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ShouldReloadEnemyOutOfAAS::Type,
    classname: "OC_ShouldReloadEnemyOutOfAAS",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ShouldReloadEnemyOutOfAAS::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ShouldReloadEnemyOutOfAAS::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_MoveTowardEnemy::Type''
// EA  : 0x83330880
// RVA : 0x01330880
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_MoveTowardEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_MoveTowardEnemy::Type,
    classname: "idOpenCombat_MoveTowardEnemy",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_MoveTowardEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_MoveTowardEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ThrowProjectileFailed::Type''
// EA  : 0x833308E0
// RVA : 0x013308E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ThrowProjectileFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ThrowProjectileFailed::Type,
    classname: "OC_ThrowProjectileFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ThrowProjectileFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ThrowProjectileFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_Shoot::Type''
// EA  : 0x83330940
// RVA : 0x01330940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_Shoot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_Shoot::Type,
    classname: "idOpenCombat_Shoot",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_Shoot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_Shoot::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ChargeMeleeNotIfRetreating::Type''
// EA  : 0x833309A0
// RVA : 0x013309A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ChargeMeleeNotIfRetreating::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ChargeMeleeNotIfRetreating::Type,
    classname: "OC_ChargeMeleeNotIfRetreating",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ChargeMeleeNotIfRetreating::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ChargeMeleeNotIfRetreating::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_ShouldRage::Type''
// EA  : 0x83330A00
// RVA : 0x01330A00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_ShouldRage::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_ShouldRage::Type,
    classname: "OC_ShouldRage",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_ShouldRage::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_ShouldRage::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_AttackMove::Type''
// EA  : 0x83330A60
// RVA : 0x01330A60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_AttackMove::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_AttackMove::Type,
    classname: "idOpenCombat_AttackMove",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_AttackMove::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_AttackMove::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_LeapAttackDone::Type''
// EA  : 0x83330AC0
// RVA : 0x01330AC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_LeapAttackDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_LeapAttackDone::Type,
    classname: "OC_LeapAttackDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_LeapAttackDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_LeapAttackDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_TargetMoved::Type''
// EA  : 0x83330B20
// RVA : 0x01330B20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_TargetMoved::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_TargetMoved::Type,
    classname: "OC_TargetMoved",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_TargetMoved::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_TargetMoved::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_MoveToCoverAndReload::Type''
// EA  : 0x83330B80
// RVA : 0x01330B80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_MoveToCoverAndReload::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_MoveToCoverAndReload::Type,
    classname: "idOpenCombat_MoveToCoverAndReload",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_MoveToCoverAndReload::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_MoveToCoverAndReload::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_ReloadWeapon::Type''
// EA  : 0x83330BE0
// RVA : 0x01330BE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_ReloadWeapon::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_ReloadWeapon::Type,
    classname: "idOpenCombat_ReloadWeapon",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_ReloadWeapon::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_ReloadWeapon::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_Crouch::Type''
// EA  : 0x83330C40
// RVA : 0x01330C40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_Crouch::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_Crouch::Type,
    classname: "idOpenCombat_Crouch",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_Crouch::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_Crouch::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_RageDone::Type''
// EA  : 0x83330CA0
// RVA : 0x01330CA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_RageDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_RageDone::Type,
    classname: "OC_RageDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_RageDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_RageDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_MoveFailedDone::Type''
// EA  : 0x83330D00
// RVA : 0x01330D00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_MoveFailedDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_MoveFailedDone::Type,
    classname: "OC_MoveFailedDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_MoveFailedDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_MoveFailedDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_MoveToRecharge::Type''
// EA  : 0x83330D60
// RVA : 0x01330D60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_MoveToRecharge::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_MoveToRecharge::Type,
    classname: "idOpenCombat_MoveToRecharge",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_MoveToRecharge::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_MoveToRecharge::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_MoveToRoleHintNodeFailedObstructed::Type''
// EA  : 0x83330DC0
// RVA : 0x01330DC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_MoveToRoleHintNodeFailedObstructed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_MoveToRoleHintNodeFailedObstructed::Type,
    classname: "OC_MoveToRoleHintNodeFailedObstructed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_MoveToRoleHintNodeFailedObstructed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_MoveToRoleHintNodeFailedObstructed::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_MoveToRoleHintNodeFailedInvalidEntity::Type''
// EA  : 0x83330E20
// RVA : 0x01330E20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_MoveToRoleHintNodeFailedInvalidEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_MoveToRoleHintNodeFailedInvalidEntity::Type,
    classname: "OC_MoveToRoleHintNodeFailedInvalidEntity",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_MoveToRoleHintNodeFailedInvalidEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_MoveToRoleHintNodeFailedInvalidEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'OC_MoveToRoleHintNodeFailedNoPathGroup::Type''
// EA  : 0x83330E80
// RVA : 0x01330E80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__OC_MoveToRoleHintNodeFailedNoPathGroup::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &OC_MoveToRoleHintNodeFailedNoPathGroup::Type,
    classname: "OC_MoveToRoleHintNodeFailedNoPathGroup",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: OC_MoveToRoleHintNodeFailedNoPathGroup::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__OC_MoveToRoleHintNodeFailedNoPathGroup::Type__);
}


// ========================================================================
// `dynamic initializer for 'idOpenCombat_MoveToRoleHintNode::Type''
// EA  : 0x83330EE0
// RVA : 0x01330EE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idOpenCombat_MoveToRoleHintNode::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idOpenCombat_MoveToRoleHintNode::Type,
    classname: "idOpenCombat_MoveToRoleHintNode",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idOpenCombat_MoveToRoleHintNode::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idOpenCombat_MoveToRoleHintNode::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_AvoidEntityInvalid::Type''
// EA  : 0x83330F40
// RVA : 0x01330F40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_AvoidEntityInvalid::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_AvoidEntityInvalid::Type,
    classname: "AVOID_AvoidEntityInvalid",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_AvoidEntityInvalid::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_AvoidEntityInvalid::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_ShouldDive::Type''
// EA  : 0x83330FA0
// RVA : 0x01330FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_ShouldDive::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_ShouldDive::Type,
    classname: "AVOID_ShouldDive",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_ShouldDive::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_ShouldDive::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_ShouldCower::Type''
// EA  : 0x83331000
// RVA : 0x01331000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_ShouldCower::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_ShouldCower::Type,
    classname: "AVOID_ShouldCower",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_ShouldCower::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_ShouldCower::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_DiveDone::Type''
// EA  : 0x83331060
// RVA : 0x01331060
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_DiveDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_DiveDone::Type,
    classname: "AVOID_DiveDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_DiveDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_DiveDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_ReachedCover::Type''
// EA  : 0x833310C0
// RVA : 0x013310C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_ReachedCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_ReachedCover::Type,
    classname: "AVOID_ReachedCover",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_ReachedCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_ReachedCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAvoid_WaitInCover::Type''
// EA  : 0x83331120
// RVA : 0x01331120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAvoid_WaitInCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAvoid_WaitInCover::Type,
    classname: "idAvoid_WaitInCover",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAvoid_WaitInCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAvoid_WaitInCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'AVOID_KickedGrenade::Type''
// EA  : 0x83331180
// RVA : 0x01331180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AVOID_KickedGrenade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AVOID_KickedGrenade::Type,
    classname: "AVOID_KickedGrenade",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AVOID_KickedGrenade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AVOID_KickedGrenade::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAvoid_Cower::Type''
// EA  : 0x833311E0
// RVA : 0x013311E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAvoid_Cower::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAvoid_Cower::Type,
    classname: "idAvoid_Cower",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAvoid_Cower::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAvoid_Cower::Type__);
}


// ========================================================================
// `dynamic initializer for 'BACKSTAND_MoveDone::Type''
// EA  : 0x83331240
// RVA : 0x01331240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__BACKSTAND_MoveDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &BACKSTAND_MoveDone::Type,
    classname: "BACKSTAND_MoveDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: BACKSTAND_MoveDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__BACKSTAND_MoveDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'BACKSTAND_ShouldMove::Type''
// EA  : 0x833312A0
// RVA : 0x013312A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__BACKSTAND_ShouldMove::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &BACKSTAND_ShouldMove::Type,
    classname: "BACKSTAND_ShouldMove",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: BACKSTAND_ShouldMove::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__BACKSTAND_ShouldMove::Type__);
}


// ========================================================================
// `dynamic initializer for 'BACKSTAND_ShouldRise::Type''
// EA  : 0x83331300
// RVA : 0x01331300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__BACKSTAND_ShouldRise::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &BACKSTAND_ShouldRise::Type,
    classname: "BACKSTAND_ShouldRise",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: BACKSTAND_ShouldRise::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__BACKSTAND_ShouldRise::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBackStand_Moving::Type''
// EA  : 0x83331360
// RVA : 0x01331360
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBackStand_Moving::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBackStand_Moving::Type,
    classname: "idBackStand_Moving",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idBackStand_Moving::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBackStand_Moving::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBackStand_Attacking::Type''
// EA  : 0x833313C0
// RVA : 0x013313C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBackStand_Attacking::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBackStand_Attacking::Type,
    classname: "idBackStand_Attacking",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idBackStand_Attacking::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBackStand_Attacking::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_MoveFailed::Type''
// EA  : 0x83331420
// RVA : 0x01331420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_MoveFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_MoveFailed::Type,
    classname: "ADVANCE_MoveFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_MoveFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_MoveFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_ShouldMelee::Type''
// EA  : 0x83331480
// RVA : 0x01331480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_ShouldMelee::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_ShouldMelee::Type,
    classname: "ADVANCE_ShouldMelee",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_ShouldMelee::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_ShouldMelee::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_ShouldSneakUpOnEnemy::Type''
// EA  : 0x833314E0
// RVA : 0x013314E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_ShouldSneakUpOnEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_ShouldSneakUpOnEnemy::Type,
    classname: "ADVANCE_ShouldSneakUpOnEnemy",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_ShouldSneakUpOnEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_ShouldSneakUpOnEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAdvance_Wait::Type''
// EA  : 0x83331540
// RVA : 0x01331540
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAdvance_Wait::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAdvance_Wait::Type,
    classname: "idAdvance_Wait",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAdvance_Wait::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAdvance_Wait::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_SideStepFailed::Type''
// EA  : 0x833315A0
// RVA : 0x013315A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_SideStepFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_SideStepFailed::Type,
    classname: "ADVANCE_SideStepFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_SideStepFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_SideStepFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAdvance_AttackMelee::Type''
// EA  : 0x83331600
// RVA : 0x01331600
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAdvance_AttackMelee::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAdvance_AttackMelee::Type,
    classname: "idAdvance_AttackMelee",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAdvance_AttackMelee::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAdvance_AttackMelee::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_SneakUpOnEnemyFailed::Type''
// EA  : 0x83331660
// RVA : 0x01331660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_SneakUpOnEnemyFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_SneakUpOnEnemyFailed::Type,
    classname: "ADVANCE_SneakUpOnEnemyFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_SneakUpOnEnemyFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_SneakUpOnEnemyFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_ThrowProjectileDone::Type''
// EA  : 0x833316C0
// RVA : 0x013316C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_ThrowProjectileDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_ThrowProjectileDone::Type,
    classname: "ADVANCE_ThrowProjectileDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_ThrowProjectileDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_ThrowProjectileDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_PlayOverrideAnimDone::Type''
// EA  : 0x83331720
// RVA : 0x01331720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_PlayOverrideAnimDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_PlayOverrideAnimDone::Type,
    classname: "ADVANCE_PlayOverrideAnimDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_PlayOverrideAnimDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_PlayOverrideAnimDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'ADVANCE_BackStandDone::Type''
// EA  : 0x83331780
// RVA : 0x01331780
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ADVANCE_BackStandDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ADVANCE_BackStandDone::Type,
    classname: "ADVANCE_BackStandDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ADVANCE_BackStandDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ADVANCE_BackStandDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_ShouldSightEnemy::Type''
// EA  : 0x833317E0
// RVA : 0x013317E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_ShouldSightEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_ShouldSightEnemy::Type,
    classname: "COMBAT_ShouldSightEnemy",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_ShouldSightEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_ShouldSightEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_OpenCombatShouldTakeCover::Type''
// EA  : 0x83331840
// RVA : 0x01331840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_OpenCombatShouldTakeCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_OpenCombatShouldTakeCover::Type,
    classname: "COMBAT_OpenCombatShouldTakeCover",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_OpenCombatShouldTakeCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_OpenCombatShouldTakeCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_NoValidCombatState::Type''
// EA  : 0x833318A0
// RVA : 0x013318A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_NoValidCombatState::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_NoValidCombatState::Type,
    classname: "COMBAT_NoValidCombatState",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_NoValidCombatState::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_NoValidCombatState::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_RoleChanged::Type''
// EA  : 0x83331900
// RVA : 0x01331900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_RoleChanged::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_RoleChanged::Type,
    classname: "COMBAT_RoleChanged",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_RoleChanged::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_RoleChanged::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_ForceIdle::Type''
// EA  : 0x83331960
// RVA : 0x01331960
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_ForceIdle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_ForceIdle::Type,
    classname: "idCombat_ForceIdle",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_ForceIdle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_ForceIdle::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_ForceMoveToEntityAgain::Type''
// EA  : 0x833319C0
// RVA : 0x013319C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_ForceMoveToEntityAgain::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_ForceMoveToEntityAgain::Type,
    classname: "COMBAT_ForceMoveToEntityAgain",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_ForceMoveToEntityAgain::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_ForceMoveToEntityAgain::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_PlayTraversal::Type''
// EA  : 0x83331A20
// RVA : 0x01331A20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_PlayTraversal::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_PlayTraversal::Type,
    classname: "idCombat_PlayTraversal",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_PlayTraversal::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_PlayTraversal::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_Retreat::Type''
// EA  : 0x83331A80
// RVA : 0x01331A80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_Retreat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_Retreat::Type,
    classname: "idCombat_Retreat",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_Retreat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_Retreat::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_Advance::Type''
// EA  : 0x83331AE0
// RVA : 0x01331AE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_Advance::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_Advance::Type,
    classname: "idCombat_Advance",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_Advance::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_Advance::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_OpenCombatDone::Type''
// EA  : 0x83331B40
// RVA : 0x01331B40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_OpenCombatDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_OpenCombatDone::Type,
    classname: "COMBAT_OpenCombatDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_OpenCombatDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_OpenCombatDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_AtTurret::Type''
// EA  : 0x83331BA0
// RVA : 0x01331BA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_AtTurret::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_AtTurret::Type,
    classname: "COMBAT_AtTurret",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_AtTurret::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_AtTurret::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_UseTurret::Type''
// EA  : 0x83331C00
// RVA : 0x01331C00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_UseTurret::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_UseTurret::Type,
    classname: "idCombat_UseTurret",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_UseTurret::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_UseTurret::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_MoveToZiplineFailed::Type''
// EA  : 0x83331C60
// RVA : 0x01331C60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_MoveToZiplineFailed::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_MoveToZiplineFailed::Type,
    classname: "COMBAT_MoveToZiplineFailed",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_MoveToZiplineFailed::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_MoveToZiplineFailed::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombat_MountZipline::Type''
// EA  : 0x83331CC0
// RVA : 0x01331CC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombat_MountZipline::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombat_MountZipline::Type,
    classname: "idCombat_MountZipline",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombat_MountZipline::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombat_MountZipline::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_AtPlugAnim::Type''
// EA  : 0x83331D20
// RVA : 0x01331D20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_AtPlugAnim::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_AtPlugAnim::Type,
    classname: "COMBAT_AtPlugAnim",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_AtPlugAnim::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_AtPlugAnim::Type__);
}


// ========================================================================
// `dynamic initializer for 'COMBAT_RetryCombat::Type''
// EA  : 0x83331D80
// RVA : 0x01331D80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__COMBAT_RetryCombat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &COMBAT_RetryCombat::Type,
    classname: "COMBAT_RetryCombat",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: COMBAT_RetryCombat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__COMBAT_RetryCombat::Type__);
}


// ========================================================================
// `dynamic initializer for 'CombatScenePoint_Shall_MoveToScenePoint::Type''
// EA  : 0x83331DE0
// RVA : 0x01331DE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__CombatScenePoint_Shall_MoveToScenePoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &CombatScenePoint_Shall_MoveToScenePoint::Type,
    classname: "CombatScenePoint_Shall_MoveToScenePoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: CombatScenePoint_Shall_MoveToScenePoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__CombatScenePoint_Shall_MoveToScenePoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'CombatScenePoint_Shall_Enter_Turret::Type''
// EA  : 0x83331E40
// RVA : 0x01331E40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__CombatScenePoint_Shall_Enter_Turret::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &CombatScenePoint_Shall_Enter_Turret::Type,
    classname: "CombatScenePoint_Shall_Enter_Turret",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: CombatScenePoint_Shall_Enter_Turret::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__CombatScenePoint_Shall_Enter_Turret::Type__);
}


// ========================================================================
// `dynamic initializer for 'CombatScenePoint_Shall_ApplyRestriction::Type''
// EA  : 0x83331EA0
// RVA : 0x01331EA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__CombatScenePoint_Shall_ApplyRestriction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &CombatScenePoint_Shall_ApplyRestriction::Type,
    classname: "CombatScenePoint_Shall_ApplyRestriction",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: CombatScenePoint_Shall_ApplyRestriction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__CombatScenePoint_Shall_ApplyRestriction::Type__);
}


// ========================================================================
// `dynamic initializer for 'CombatScenePoint_Shared_Finished::Type''
// EA  : 0x83331F00
// RVA : 0x01331F00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__CombatScenePoint_Shared_Finished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &CombatScenePoint_Shared_Finished::Type,
    classname: "CombatScenePoint_Shared_Finished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: CombatScenePoint_Shared_Finished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__CombatScenePoint_Shared_Finished::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombatScenePoint_UseTurret::Type''
// EA  : 0x83331F60
// RVA : 0x01331F60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombatScenePoint_UseTurret::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombatScenePoint_UseTurret::Type,
    classname: "idCombatScenePoint_UseTurret",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombatScenePoint_UseTurret::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombatScenePoint_UseTurret::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombatScenePoint_Idle::Type''
// EA  : 0x83331FC0
// RVA : 0x01331FC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombatScenePoint_Idle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombatScenePoint_Idle::Type,
    classname: "idCombatScenePoint_Idle",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombatScenePoint_Idle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombatScenePoint_Idle::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombatScenePoint_Melee::Type''
// EA  : 0x83332020
// RVA : 0x01332020
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombatScenePoint_Melee::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombatScenePoint_Melee::Type,
    classname: "idCombatScenePoint_Melee",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idCombatScenePoint_Melee::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombatScenePoint_Melee::Type__);
}


// ========================================================================
// `dynamic initializer for 'idCombatScenePointFSM::Type''
// EA  : 0x83332080
// RVA : 0x01332080
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idCombatScenePointFSM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idCombatScenePointFSM::Type,
    classname: "idCombatScenePointFSM",
    superclass: "idAIFSM",
    size: 544,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idCombatScenePointFSM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idCombatScenePointFSM::Type__);
}


// ========================================================================
// `dynamic initializer for 'SearchScenePoint_Shall_LookAtScenePoint::Type''
// EA  : 0x833320E0
// RVA : 0x013320E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__SearchScenePoint_Shall_LookAtScenePoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &SearchScenePoint_Shall_LookAtScenePoint::Type,
    classname: "SearchScenePoint_Shall_LookAtScenePoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: SearchScenePoint_Shall_LookAtScenePoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__SearchScenePoint_Shall_LookAtScenePoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'idSearchScenePoint_StayAt::Type''
// EA  : 0x83332140
// RVA : 0x01332140
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idSearchScenePoint_StayAt::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idSearchScenePoint_StayAt::Type,
    classname: "idSearchScenePoint_StayAt",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idSearchScenePoint_StayAt::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idSearchScenePoint_StayAt::Type__);
}


// ========================================================================
// `dynamic initializer for 'RoamScenePoint_Shall_FindScenePoint::Type''
// EA  : 0x833321A0
// RVA : 0x013321A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RoamScenePoint_Shall_FindScenePoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RoamScenePoint_Shall_FindScenePoint::Type,
    classname: "RoamScenePoint_Shall_FindScenePoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RoamScenePoint_Shall_FindScenePoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RoamScenePoint_Shall_FindScenePoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'RoamScenePoint_Shared_Finished::Type''
// EA  : 0x83332200
// RVA : 0x01332200
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__RoamScenePoint_Shared_Finished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &RoamScenePoint_Shared_Finished::Type,
    classname: "RoamScenePoint_Shared_Finished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: RoamScenePoint_Shared_Finished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__RoamScenePoint_Shared_Finished::Type__);
}


// ========================================================================
// `dynamic initializer for 'idRoamScenePoint_StayAt::Type''
// EA  : 0x83332260
// RVA : 0x01332260
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idRoamScenePoint_StayAt::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idRoamScenePoint_StayAt::Type,
    classname: "idRoamScenePoint_StayAt",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idRoamScenePoint_StayAt::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idRoamScenePoint_StayAt::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_CanUseSearchScenePoint::Type''
// EA  : 0x833322C0
// RVA : 0x013322C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_CanUseSearchScenePoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_CanUseSearchScenePoint::Type,
    classname: "AC_CanUseSearchScenePoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_CanUseSearchScenePoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_CanUseSearchScenePoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_CanUseCombat::Type''
// EA  : 0x83332320
// RVA : 0x01332320
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_CanUseCombat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_CanUseCombat::Type,
    classname: "AC_CanUseCombat",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_CanUseCombat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_CanUseCombat::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_NoEnemy::Type''
// EA  : 0x83332380
// RVA : 0x01332380
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_NoEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_NoEnemy::Type,
    classname: "AC_NoEnemy",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_NoEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_NoEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_Default::Type''
// EA  : 0x833323E0
// RVA : 0x013323E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_Default::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_Default::Type,
    classname: "idAlertCycle_Default",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_Default::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_Default::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_ScriptCanUseCombat::Type''
// EA  : 0x83332440
// RVA : 0x01332440
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_ScriptCanUseCombat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_ScriptCanUseCombat::Type,
    classname: "AC_ScriptCanUseCombat",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_ScriptCanUseCombat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_ScriptCanUseCombat::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_ActionScript::Type''
// EA  : 0x833324A0
// RVA : 0x013324A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_ActionScript::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_ActionScript::Type,
    classname: "idAlertCycle_ActionScript",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_ActionScript::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_ActionScript::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_Combat::Type''
// EA  : 0x83332500
// RVA : 0x01332500
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_Combat::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_Combat::Type,
    classname: "idAlertCycle_Combat",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_Combat::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_Combat::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_SearchFinished::Type''
// EA  : 0x83332560
// RVA : 0x01332560
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_SearchFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_SearchFinished::Type,
    classname: "AC_SearchFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_SearchFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_SearchFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_Pain::Type''
// EA  : 0x833325C0
// RVA : 0x013325C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_Pain::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_Pain::Type,
    classname: "idAlertCycle_Pain",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_Pain::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_Pain::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_Dying::Type''
// EA  : 0x83332620
// RVA : 0x01332620
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_Dying::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_Dying::Type,
    classname: "idAlertCycle_Dying",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_Dying::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_Dying::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_PassifiedDone::Type''
// EA  : 0x83332680
// RVA : 0x01332680
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_PassifiedDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_PassifiedDone::Type,
    classname: "AC_PassifiedDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_PassifiedDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_PassifiedDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycle_Avoid::Type''
// EA  : 0x833326E0
// RVA : 0x013326E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycle_Avoid::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycle_Avoid::Type,
    classname: "idAlertCycle_Avoid",
    superclass: "idAIState",
    size: 28,
    abstract: false,
    CreateInstance: idAlertCycle_Avoid::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycle_Avoid::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_ShouldDropFromShip::Type''
// EA  : 0x83332740
// RVA : 0x01332740
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_ShouldDropFromShip::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_ShouldDropFromShip::Type,
    classname: "AC_ShouldDropFromShip",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_ShouldDropFromShip::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_ShouldDropFromShip::Type__);
}


// ========================================================================
// `dynamic initializer for 'AC_NotOnElevator::Type''
// EA  : 0x833327A0
// RVA : 0x013327A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AC_NotOnElevator::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AC_NotOnElevator::Type,
    classname: "AC_NotOnElevator",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AC_NotOnElevator::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AC_NotOnElevator::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAlertCycleFSM::Type''
// EA  : 0x83332800
// RVA : 0x01332800
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAlertCycleFSM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAlertCycleFSM::Type,
    classname: "idAlertCycleFSM",
    superclass: "idAIFSM",
    size: 696,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAlertCycleFSM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAlertCycleFSM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIFSMLite::Type''
// EA  : 0x83332860
// RVA : 0x01332860
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIFSMLite::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIFSMLite::Type,
    classname: "idAIFSMLite",
    superclass: "idEventReceiver",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAIFSMLite::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIFSMLite::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAnimStateMoveGround::Type''
// EA  : 0x833328C0
// RVA : 0x013328C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAnimStateMoveGround::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAnimStateMoveGround::Type,
    classname: "idAnimStateMoveGround",
    superclass: "idAIStateLite",
    size: 184,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAnimStateMoveGround::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAnimStateMoveGround::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAIAction::Type''
// EA  : 0x83332920
// RVA : 0x01332920
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAIAction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAIAction::Type,
    classname: "idAIAction",
    superclass: "idAIState",
    size: 28,
    abstract: true,
    CreateInstance: idAIAction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAIAction::Type__);
}


// ========================================================================
// `dynamic initializer for 'ReachedPoint::Type''
// EA  : 0x83332980
// RVA : 0x01332980
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ReachedPoint::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ReachedPoint::Type,
    classname: "ReachedPoint",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ReachedPoint::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ReachedPoint::Type__);
}


// ========================================================================
// `dynamic initializer for 'ActionEntityDeleted::Type''
// EA  : 0x833329E0
// RVA : 0x013329E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ActionEntityDeleted::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ActionEntityDeleted::Type,
    classname: "ActionEntityDeleted",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ActionEntityDeleted::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ActionEntityDeleted::Type__);
}


// ========================================================================
// `dynamic initializer for 'ActionFinished::Type''
// EA  : 0x83332A40
// RVA : 0x01332A40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__ActionFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &ActionFinished::Type,
    classname: "ActionFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: ActionFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__ActionFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_MoveToEntity::Type''
// EA  : 0x83332AA0
// RVA : 0x01332AA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_MoveToEntity::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_MoveToEntity::Type,
    classname: "idAction_MoveToEntity",
    superclass: "idAIAction",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_MoveToEntity::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_MoveToEntity::Type__);
}


// ========================================================================
// `dynamic initializer for 'AbortMoveToCover::Type''
// EA  : 0x83332B00
// RVA : 0x01332B00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AbortMoveToCover::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AbortMoveToCover::Type,
    classname: "AbortMoveToCover",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AbortMoveToCover::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AbortMoveToCover::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_Idle::Type''
// EA  : 0x83332B60
// RVA : 0x01332B60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_Idle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_Idle::Type,
    classname: "idAction_Idle",
    superclass: "idAIAction",
    size: 40,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_Idle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_Idle::Type__);
}


// ========================================================================
// `dynamic initializer for 'FinishedStanding::Type''
// EA  : 0x83332BC0
// RVA : 0x01332BC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__FinishedStanding::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &FinishedStanding::Type,
    classname: "FinishedStanding",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: FinishedStanding::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__FinishedStanding::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_PullTriggerLeft::Type''
// EA  : 0x83332C20
// RVA : 0x01332C20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_PullTriggerLeft::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_PullTriggerLeft::Type,
    classname: "idAction_PullTriggerLeft",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_PullTriggerLeft::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_PullTriggerLeft::Type__);
}


// ========================================================================
// `dynamic initializer for 'FinishedReloadingTorso::Type''
// EA  : 0x83332C80
// RVA : 0x01332C80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__FinishedReloadingTorso::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &FinishedReloadingTorso::Type,
    classname: "FinishedReloadingTorso",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: FinishedReloadingTorso::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__FinishedReloadingTorso::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_LoopAnim::Type''
// EA  : 0x83332CE0
// RVA : 0x01332CE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_LoopAnim::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_LoopAnim::Type,
    classname: "idAction_LoopAnim",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_LoopAnim::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_LoopAnim::Type__);
}


// ========================================================================
// `dynamic initializer for 'TraversalAnimDone::Type''
// EA  : 0x83332D40
// RVA : 0x01332D40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TraversalAnimDone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TraversalAnimDone::Type,
    classname: "TraversalAnimDone",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TraversalAnimDone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TraversalAnimDone::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_ForceAnimState::Type''
// EA  : 0x83332DA0
// RVA : 0x01332DA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_ForceAnimState::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_ForceAnimState::Type,
    classname: "idAction_ForceAnimState",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_ForceAnimState::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_ForceAnimState::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_Dive::Type''
// EA  : 0x83332E00
// RVA : 0x01332E00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_Dive::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_Dive::Type,
    classname: "idAction_Dive",
    superclass: "idAIAction",
    size: 52,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_Dive::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_Dive::Type__);
}


// ========================================================================
// `dynamic initializer for 'TurnToEntityFinished::Type''
// EA  : 0x83332E60
// RVA : 0x01332E60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__TurnToEntityFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &TurnToEntityFinished::Type,
    classname: "TurnToEntityFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: TurnToEntityFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__TurnToEntityFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'EntityNear::Type''
// EA  : 0x83332EC0
// RVA : 0x01332EC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__EntityNear::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &EntityNear::Type,
    classname: "EntityNear",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: EntityNear::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__EntityNear::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_PlayVoiceOver::Type''
// EA  : 0x83332F20
// RVA : 0x01332F20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_PlayVoiceOver::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_PlayVoiceOver::Type,
    classname: "idAction_PlayVoiceOver",
    superclass: "idAIAction",
    size: 32,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_PlayVoiceOver::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_PlayVoiceOver::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_PlayOverrideAnim::Type''
// EA  : 0x83332F80
// RVA : 0x01332F80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_PlayOverrideAnim::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_PlayOverrideAnim::Type,
    classname: "idAction_PlayOverrideAnim",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_PlayOverrideAnim::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_PlayOverrideAnim::Type__);
}


// ========================================================================
// `dynamic initializer for 'HolsterWeaponFinished::Type''
// EA  : 0x83332FE0
// RVA : 0x01332FE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__HolsterWeaponFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &HolsterWeaponFinished::Type,
    classname: "HolsterWeaponFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: HolsterWeaponFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__HolsterWeaponFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'CoverActionFinished::Type''
// EA  : 0x83333040
// RVA : 0x01333040
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__CoverActionFinished::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &CoverActionFinished::Type,
    classname: "CoverActionFinished",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: CoverActionFinished::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__CoverActionFinished::Type__);
}


// ========================================================================
// `dynamic initializer for 'AIVarExpressionTrue::Type''
// EA  : 0x833330A0
// RVA : 0x013330A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__AIVarExpressionTrue::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &AIVarExpressionTrue::Type,
    classname: "AIVarExpressionTrue",
    superclass: "idAIStateTransitionStatic",
    size: 8,
    abstract: false,
    CreateInstance: AIVarExpressionTrue::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__AIVarExpressionTrue::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_SetAlertCycle::Type''
// EA  : 0x83333100
// RVA : 0x01333100
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_SetAlertCycle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_SetAlertCycle::Type,
    classname: "idAction_SetAlertCycle",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_SetAlertCycle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_SetAlertCycle::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_ClearAimFocus::Type''
// EA  : 0x83333160
// RVA : 0x01333160
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_ClearAimFocus::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_ClearAimFocus::Type,
    classname: "idAction_ClearAimFocus",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_ClearAimFocus::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_ClearAimFocus::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_SetPosture::Type''
// EA  : 0x833331C0
// RVA : 0x013331C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_SetPosture::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_SetPosture::Type,
    classname: "idAction_SetPosture",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_SetPosture::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_SetPosture::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_SetIdleState::Type''
// EA  : 0x83333220
// RVA : 0x01333220
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_SetIdleState::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_SetIdleState::Type,
    classname: "idAction_SetIdleState",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_SetIdleState::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_SetIdleState::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_SetEnemy::Type''
// EA  : 0x83333280
// RVA : 0x01333280
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_SetEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_SetEnemy::Type,
    classname: "idAction_SetEnemy",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_SetEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_SetEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_Trigger::Type''
// EA  : 0x833332E0
// RVA : 0x013332E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_Trigger::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_Trigger::Type,
    classname: "idAction_Trigger",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_Trigger::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_Trigger::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_EnableBodyRotation::Type''
// EA  : 0x83333340
// RVA : 0x01333340
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_EnableBodyRotation::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_EnableBodyRotation::Type,
    classname: "idAction_EnableBodyRotation",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_EnableBodyRotation::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_EnableBodyRotation::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_ForceAwarenessByDistance::Type''
// EA  : 0x833333A0
// RVA : 0x013333A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_ForceAwarenessByDistance::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_ForceAwarenessByDistance::Type,
    classname: "idAction_ForceAwarenessByDistance",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_ForceAwarenessByDistance::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_ForceAwarenessByDistance::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_TakeItem::Type''
// EA  : 0x83333400
// RVA : 0x01333400
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_TakeItem::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_TakeItem::Type,
    classname: "idAction_TakeItem",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_TakeItem::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_TakeItem::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_DropAttachment::Type''
// EA  : 0x83333460
// RVA : 0x01333460
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_DropAttachment::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_DropAttachment::Type,
    classname: "idAction_DropAttachment",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_DropAttachment::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_DropAttachment::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_ClearPerceptionFlag::Type''
// EA  : 0x833334C0
// RVA : 0x013334C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_ClearPerceptionFlag::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_ClearPerceptionFlag::Type,
    classname: "idAction_ClearPerceptionFlag",
    superclass: "idAIAction",
    size: 28,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_ClearPerceptionFlag::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_ClearPerceptionFlag::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAction_ScriptedAnimWeb::Type''
// EA  : 0x83333520
// RVA : 0x01333520
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAction_ScriptedAnimWeb::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAction_ScriptedAnimWeb::Type,
    classname: "idAction_ScriptedAnimWeb",
    superclass: "idAIAction",
    size: 88,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAction_ScriptedAnimWeb::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAction_ScriptedAnimWeb::Type__);
}


// ========================================================================
// `dynamic initializer for 'idLegsFSM::Type''
// EA  : 0x83333580
// RVA : 0x01333580
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idLegsFSM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idLegsFSM::Type,
    classname: "idLegsFSM",
    superclass: "idAIActionFSM",
    size: 164,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idLegsFSM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idLegsFSM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idAITest_Rotation::Type''
// EA  : 0x833335E0
// RVA : 0x013335E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idAITest_Rotation::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idAITest_Rotation::Type,
    classname: "idAITest_Rotation",
    superclass: "idAITest",
    size: 888,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idAITest_Rotation::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ShakeTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idAITest_Rotation::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTowerTurret::Type''
// EA  : 0x83333640
// RVA : 0x01333640
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTowerTurret::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTowerTurret::Type,
    classname: "idTowerTurret",
    superclass: "idTurret",
    size: 14728,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTowerTurret::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTowerTurret::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTowerTurret::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_ModifyTraversalClass::Type''
// EA  : 0x833336A0
// RVA : 0x013336A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_ModifyTraversalClass::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_ModifyTraversalClass::Type,
    classname: "idTarget_ModifyTraversalClass",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_ModifyTraversalClass::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ModifyTraversalClass::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_ModifyTraversalClass::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_Show::Type''
// EA  : 0x83333700
// RVA : 0x01333700
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_Show::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_Show::Type,
    classname: "idTarget_Show",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_Show::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_Show::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_JobTimerStart::Type''
// EA  : 0x83333760
// RVA : 0x01333760
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_JobTimerStart::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_JobTimerStart::Type,
    classname: "idTarget_JobTimerStart",
    superclass: "idEntity",
    size: 832,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_JobTimerStart::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_JobTimerStart::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_GiveSpecialEvent::Type''
// EA  : 0x833337C0
// RVA : 0x013337C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_GiveSpecialEvent::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_GiveSpecialEvent::Type,
    classname: "idTarget_GiveSpecialEvent",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_GiveSpecialEvent::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_GiveSpecialEvent::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_GameStateIntSet::Type''
// EA  : 0x83333820
// RVA : 0x01333820
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_GameStateIntSet::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_GameStateIntSet::Type,
    classname: "idTarget_GameStateIntSet",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_GameStateIntSet::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_GameStateIntSet::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_FirstThinkActivate::Type''
// EA  : 0x83333880
// RVA : 0x01333880
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_FirstThinkActivate::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_FirstThinkActivate::Type,
    classname: "idTarget_FirstThinkActivate",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_FirstThinkActivate::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ShakeTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_FirstThinkActivate::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_LayerChange2::Type''
// EA  : 0x833338E0
// RVA : 0x013338E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_LayerChange2::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_LayerChange2::Type,
    classname: "idTarget_LayerChange2",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_LayerChange2::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_LayerChange2::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_LevelTransition::Type''
// EA  : 0x83333940
// RVA : 0x01333940
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_LevelTransition::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_LevelTransition::Type,
    classname: "idTarget_LevelTransition",
    superclass: "idEntity",
    size: 968,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_LevelTransition::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_LevelTransition::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_Path::Type''
// EA  : 0x833339A0
// RVA : 0x013339A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_Path::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_Path::Type,
    classname: "idTarget_Path",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: idTarget_Path::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_Path::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_Damage::Type''
// EA  : 0x83333A00
// RVA : 0x01333A00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_Damage::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_Damage::Type,
    classname: "idTarget_Damage",
    superclass: "idEntity",
    size: 824,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_Damage::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_Damage::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_EnableGroup::Type''
// EA  : 0x83333A60
// RVA : 0x01333A60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_EnableGroup::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_EnableGroup::Type,
    classname: "idTarget_EnableGroup",
    superclass: "idEntity",
    size: 840,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_EnableGroup::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_EnableGroup::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_AICommand::Type''
// EA  : 0x83333AC0
// RVA : 0x01333AC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_AICommand::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_AICommand::Type,
    classname: "idTarget_AICommand",
    superclass: "idEntity",
    size: 824,
    abstract: false,
    CreateInstance: idTarget_AICommand::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_AICommand::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_ActionScript::Type''
// EA  : 0x83333B20
// RVA : 0x01333B20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_ActionScript::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_ActionScript::Type,
    classname: "idTarget_ActionScript",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_ActionScript::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_ActionScript::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_PlayAnim::Type''
// EA  : 0x83333B80
// RVA : 0x01333B80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_PlayAnim::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_PlayAnim::Type,
    classname: "idTarget_PlayAnim",
    superclass: "idEntity",
    size: 840,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_PlayAnim::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_PlayAnim::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_ApplyImpulse::Type''
// EA  : 0x83333BE0
// RVA : 0x01333BE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_ApplyImpulse::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_ApplyImpulse::Type,
    classname: "idTarget_ApplyImpulse",
    superclass: "idEntity",
    size: 840,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_ApplyImpulse::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_ApplyImpulse::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_AssignVehicle::Type''
// EA  : 0x83333C40
// RVA : 0x01333C40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_AssignVehicle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_AssignVehicle::Type,
    classname: "idTarget_AssignVehicle",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: idTarget_AssignVehicle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_AssignVehicle::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_TestPlayerState::Type''
// EA  : 0x83333CA0
// RVA : 0x01333CA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_TestPlayerState::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_TestPlayerState::Type,
    classname: "idTarget_TestPlayerState",
    superclass: "idEntity",
    size: 896,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_TestPlayerState::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_TestPlayerState::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_StartSoundShader::Type''
// EA  : 0x83333D00
// RVA : 0x01333D00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_StartSoundShader::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_StartSoundShader::Type,
    classname: "idTarget_StartSoundShader",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_StartSoundShader::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_StartSoundShader::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_EnableBlink::Type''
// EA  : 0x83333D60
// RVA : 0x01333D60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_EnableBlink::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_EnableBlink::Type,
    classname: "idTarget_EnableBlink",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_EnableBlink::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_EnableBlink::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_Door::Type''
// EA  : 0x83333DC0
// RVA : 0x01333DC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_Door::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_Door::Type,
    classname: "idTarget_Door",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_Door::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_Door::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_ShakeTrigger::Type''
// EA  : 0x83333E20
// RVA : 0x01333E20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_ShakeTrigger::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_ShakeTrigger::Type,
    classname: "idTarget_ShakeTrigger",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_ShakeTrigger::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ShakeTrigger::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_ShakeTrigger::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_CoopGiveScore::Type''
// EA  : 0x83333E80
// RVA : 0x01333E80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_CoopGiveScore::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_CoopGiveScore::Type,
    classname: "idTarget_CoopGiveScore",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: idTarget_CoopGiveScore::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_CoopGiveScore::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_SwapFaction::Type''
// EA  : 0x83333EE0
// RVA : 0x01333EE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_SwapFaction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_SwapFaction::Type,
    classname: "idTarget_SwapFaction",
    superclass: "idEntity",
    size: 856,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_SwapFaction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_SwapFaction::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_DummyFire::Type''
// EA  : 0x83333F40
// RVA : 0x01333F40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_DummyFire::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_DummyFire::Type,
    classname: "idTarget_DummyFire",
    superclass: "idEntity",
    size: 936,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_DummyFire::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_DummyFire::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_DummyFire::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_HideShowHands::Type''
// EA  : 0x83333FA0
// RVA : 0x01333FA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_HideShowHands::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_HideShowHands::Type,
    classname: "idTarget_HideShowHands",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_HideShowHands::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_HideShowHands::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_PlayerOverrideFocus::Type''
// EA  : 0x83334000
// RVA : 0x01334000
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_PlayerOverrideFocus::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_PlayerOverrideFocus::Type,
    classname: "idTarget_PlayerOverrideFocus",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_PlayerOverrideFocus::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_PlayerOverrideFocus::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_AttachItem::Type''
// EA  : 0x83334060
// RVA : 0x01334060
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_AttachItem::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_AttachItem::Type,
    classname: "idTarget_AttachItem",
    superclass: "idEntity",
    size: 816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_AttachItem::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_AttachItem::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_ToggleTraversal::Type''
// EA  : 0x833340C0
// RVA : 0x013340C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_ToggleTraversal::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_ToggleTraversal::Type,
    classname: "idTarget_ToggleTraversal",
    superclass: "idEntity",
    size: 824,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_ToggleTraversal::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idTarget_ToggleTraversal::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_ToggleTraversal::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_SetHudElement::Type''
// EA  : 0x83334120
// RVA : 0x01334120
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_SetHudElement::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_SetHudElement::Type,
    classname: "idTarget_SetHudElement",
    superclass: "idEntity",
    size: 808,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_SetHudElement::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_SetHudElement::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_TestActivation::Type''
// EA  : 0x83334180
// RVA : 0x01334180
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_TestActivation::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_TestActivation::Type,
    classname: "idTarget_TestActivation",
    superclass: "idTarget_Test",
    size: 920,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_TestActivation::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_TestActivation::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_TestCommand::Type''
// EA  : 0x833341E0
// RVA : 0x013341E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_TestCommand::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_TestCommand::Type,
    classname: "idTarget_TestCommand",
    superclass: "idTarget_Test",
    size: 936,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_TestCommand::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_TestCommand::Type__);
}


// ========================================================================
// `dynamic initializer for 'idTarget_TestOverrideStatus::Type''
// EA  : 0x83334240
// RVA : 0x01334240
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idTarget_TestOverrideStatus::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idTarget_TestOverrideStatus::Type,
    classname: "idTarget_TestOverrideStatus",
    superclass: "idTarget_Test",
    size: 920,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idTarget_TestOverrideStatus::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idEntity::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idTarget_TestOverrideStatus::Type__);
}


// ========================================================================
// `dynamic initializer for 'idDrone::Type''
// EA  : 0x833342A0
// RVA : 0x013342A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idDrone::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idDrone::Type,
    classname: "idDrone",
    superclass: "idAnimatedEntity",
    size: 13032,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idDrone::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idDrone::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idDrone::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVehicleFSM::Type''
// EA  : 0x83334300
// RVA : 0x01334300
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVehicleFSM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVehicleFSM::Type,
    classname: "idVehicleFSM",
    superclass: "idVehicleBaseFSM",
    size: 352,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVehicleFSM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVehicleFSM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_Wait::Type''
// EA  : 0x83334360
// RVA : 0x01334360
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_Wait::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_Wait::Type,
    classname: "idVS_Wait",
    superclass: "idVehicleState",
    size: 108,
    abstract: false,
    CreateInstance: idVS_Wait::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_Wait::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_ds_Barricade::Type''
// EA  : 0x833343C0
// RVA : 0x013343C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_ds_Barricade::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_ds_Barricade::Type,
    classname: "idVS_ds_Barricade",
    superclass: "idVehicleState",
    size: 100,
    abstract: false,
    CreateInstance: idVS_ds_Barricade::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_ds_Barricade::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_ms_Backup::Type''
// EA  : 0x83334420
// RVA : 0x01334420
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_ms_Backup::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_ms_Backup::Type,
    classname: "idVS_ms_Backup",
    superclass: "idVehicleState",
    size: 128,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVS_ms_Backup::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_ms_Backup::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_as_RAM::Type''
// EA  : 0x83334480
// RVA : 0x01334480
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_as_RAM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_as_RAM::Type,
    classname: "idVS_as_RAM",
    superclass: "idVehicleState",
    size: 112,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVS_as_RAM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_as_RAM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_as_ChaseShoot::Type''
// EA  : 0x833344E0
// RVA : 0x013344E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_as_ChaseShoot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_as_ChaseShoot::Type,
    classname: "idVS_as_ChaseShoot",
    superclass: "idVehicleState",
    size: 112,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVS_as_ChaseShoot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_as_ChaseShoot::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_as_PowerTurnShoot::Type''
// EA  : 0x83334540
// RVA : 0x01334540
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_as_PowerTurnShoot::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_as_PowerTurnShoot::Type,
    classname: "idVS_as_PowerTurnShoot",
    superclass: "idVehicleState",
    size: 116,
    abstract: false,
    CreateInstance: idVS_as_PowerTurnShoot::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_as_PowerTurnShoot::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_as_FireWeapon::Type''
// EA  : 0x833345A0
// RVA : 0x013345A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_as_FireWeapon::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_as_FireWeapon::Type,
    classname: "idVS_as_FireWeapon",
    superclass: "idVehicleState",
    size: 104,
    abstract: false,
    CreateInstance: idVS_as_FireWeapon::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_as_FireWeapon::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_ds_Car_Chase::Type''
// EA  : 0x83334600
// RVA : 0x01334600
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_ds_Car_Chase::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_ds_Car_Chase::Type,
    classname: "idVS_ds_Car_Chase",
    superclass: "idVehicleState",
    size: 128,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idVS_ds_Car_Chase::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_ds_Car_Chase::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_cs_WaitForTrigger::Type''
// EA  : 0x83334660
// RVA : 0x01334660
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_cs_WaitForTrigger::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_cs_WaitForTrigger::Type,
    classname: "idVS_cs_WaitForTrigger",
    superclass: "idVehicleState",
    size: 100,
    abstract: false,
    CreateInstance: idVS_cs_WaitForTrigger::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_cs_WaitForTrigger::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_cs_WaitForVoiceOver::Type''
// EA  : 0x833346C0
// RVA : 0x013346C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_cs_WaitForVoiceOver::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_cs_WaitForVoiceOver::Type,
    classname: "idVS_cs_WaitForVoiceOver",
    superclass: "idVehicleState",
    size: 100,
    abstract: false,
    CreateInstance: idVS_cs_WaitForVoiceOver::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_cs_WaitForVoiceOver::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_CS_WaitForPlayer::Type''
// EA  : 0x83334720
// RVA : 0x01334720
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_CS_WaitForPlayer::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_CS_WaitForPlayer::Type,
    classname: "idVS_CS_WaitForPlayer",
    superclass: "idVehicleState",
    size: 100,
    abstract: false,
    CreateInstance: idVS_CS_WaitForPlayer::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_CS_WaitForPlayer::Type__);
}


// ========================================================================
// `dynamic initializer for 'idVS_cs_EnterVehicle::Type''
// EA  : 0x83334780
// RVA : 0x01334780
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idVS_cs_EnterVehicle::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idVS_cs_EnterVehicle::Type,
    classname: "idVS_cs_EnterVehicle",
    superclass: "idVehicleState",
    size: 100,
    abstract: false,
    CreateInstance: idVS_cs_EnterVehicle::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idVS_cs_EnterVehicle::Type__);
}


// ========================================================================
// `dynamic initializer for 'idLerpKey::Type''
// EA  : 0x833347E0
// RVA : 0x013347E0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idLerpKey::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idLerpKey::Type,
    classname: "idLerpKey",
    superclass: "idClass",
    size: 88,
    abstract: false,
    CreateInstance: idLerpKey::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idLerpKey::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotGoalManager_TDM::Type''
// EA  : 0x83334840
// RVA : 0x01334840
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotGoalManager_TDM::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotGoalManager_TDM::Type,
    classname: "idBotGoalManager_TDM",
    superclass: "idBotGoalManager",
    size: 12,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotGoalManager_TDM::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotGoalManager_TDM::Type__);
}


// ========================================================================
// `dynamic initializer for 'idGameChallenge_DM_FFA::Type''
// EA  : 0x833348A0
// RVA : 0x013348A0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idGameChallenge_DM_FFA::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idGameChallenge_DM_FFA::Type,
    classname: "idGameChallenge_DM_FFA",
    superclass: "idGameChallenge_DM",
    size: 1816,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idGameChallenge_DM_FFA::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idGameChallenge::Spawn);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idGameChallenge_DM_FFA::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBehaviorAction::Type''
// EA  : 0x83334900
// RVA : 0x01334900
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBehaviorAction::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBehaviorAction::Type,
    classname: "idBehaviorAction",
    superclass: "idBehaviorState",
    size: 56,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBehaviorAction::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBehaviorAction::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBehaviorSelectorLooping::Type''
// EA  : 0x83334960
// RVA : 0x01334960
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBehaviorSelectorLooping::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBehaviorSelectorLooping::Type,
    classname: "idBehaviorSelectorLooping",
    superclass: "idBehaviorSelector",
    size: 76,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBehaviorSelectorLooping::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBehaviorSelectorLooping::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBehaviorSequence::Type''
// EA  : 0x833349C0
// RVA : 0x013349C0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBehaviorSequence::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBehaviorSequence::Type,
    classname: "idBehaviorSequence",
    superclass: "idBehaviorComposite",
    size: 80,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBehaviorSequence::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBehaviorSequence::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBehaviorTemp::Type''
// EA  : 0x83334A20
// RVA : 0x01334A20
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBehaviorTemp::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBehaviorTemp::Type,
    classname: "idBehaviorTemp",
    superclass: "idBehaviorAction",
    size: 56,
    abstract: false,
    CreateInstance: idBehaviorTemp::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBehaviorTemp::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorDead::Type''
// EA  : 0x83334A80
// RVA : 0x01334A80
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorDead::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorDead::Type,
    classname: "idBotBehaviorDead",
    superclass: "idBehaviorAction",
    size: 60,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorDead::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorDead::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorAlert::Type''
// EA  : 0x83334AE0
// RVA : 0x01334AE0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorAlert::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorAlert::Type,
    classname: "idBotBehaviorAlert",
    superclass: "idBehaviorSelectorLooping",
    size: 76,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorAlert::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorAlert::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorCombat_TargetVis_CloseRange::Type''
// EA  : 0x83334B40
// RVA : 0x01334B40
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorCombat_TargetVis_CloseRange::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorCombat_TargetVis_CloseRange::Type,
    classname: "idBotBehaviorCombat_TargetVis_CloseRange",
    superclass: "idBehaviorSelectorLooping",
    size: 76,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorCombat_TargetVis_CloseRange::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorCombat_TargetVis_CloseRange::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorCombat_TargetVis_CloseRange_Thrown::Type''
// EA  : 0x83334BA0
// RVA : 0x01334BA0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorCombat_TargetVis_CloseRange_Thrown::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorCombat_TargetVis_CloseRange_Thrown::Type,
    classname: "idBotBehaviorCombat_TargetVis_CloseRange_Thrown",
    superclass: "idBehaviorSelectorRandom",
    size: 76,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorCombat_TargetVis_CloseRange_Thrown::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorCombat_TargetVis_CloseRange_Thrown::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorEscort::Type''
// EA  : 0x83334C00
// RVA : 0x01334C00
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorEscort::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorEscort::Type,
    classname: "idBotBehaviorEscort",
    superclass: "idBehaviorAction",
    size: 76,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorEscort::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorEscort::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorCombat_SideStrafeEnemy::Type''
// EA  : 0x83334C60
// RVA : 0x01334C60
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorCombat_SideStrafeEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorCombat_SideStrafeEnemy::Type,
    classname: "idBotBehaviorCombat_SideStrafeEnemy",
    superclass: "idBehaviorAction",
    size: 64,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorCombat_SideStrafeEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorCombat_SideStrafeEnemy::Type__);
}


// ========================================================================
// `dynamic initializer for 'idBotBehaviorCombat_RandomJumpAttackEnemy::Type''
// EA  : 0x83334CC0
// RVA : 0x01334CC0
// PDB : w:\tech5\tungsten\typeinfo\eventdefs_game_4.cpp
// ========================================================================

void __noreturn _dynamic_initializer_for__idBotBehaviorCombat_RandomJumpAttackEnemy::Type__()
{
  idTypeInfo::idTypeInfo(
    this: &idBotBehaviorCombat_RandomJumpAttackEnemy::Type,
    classname: "idBotBehaviorCombat_RandomJumpAttackEnemy",
    superclass: "idBehaviorAction",
    size: 68,
    abstract: false,
    CreateInstance: (idClass *(__fastcall *)())idBotBehaviorCombat_RandomJumpAttackEnemy::CreateInstance,
    Spawn: (void (__fastcall *)(idClass *))idPhysics_StaticMulti::UpdateTime);
  atexit(func: (void (__fastcall *)())_dynamic_atexit_destructor_for__idBotBehaviorCombat_RandomJumpAttackEnemy::Type__);
}

