[
 {
  "addr": "0x160db30",
  "name": "AG2_OnResourceChanged",
  "confidence": "high",
  "rationale": "log string literally 'AG2_OnResourceChanged - %s ... recreate the %sgraph instance'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15fd6f0",
  "name": "AG2_OnResourcePreReload",
  "confidence": "high",
  "rationale": "log string literally 'AG2_OnResourcePreReload - %s ... deleted %sgraph instance'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169a760",
  "name": "AccumulateElapsedTime",
  "confidence": "high",
  "rationale": "string 'ET:  AccumulateElapsedTime %u seconds to %u, now at %s' names the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd5b140",
  "name": "ApplyBreakCommandListToPieces",
  "confidence": "high",
  "rationale": "string literally names ApplyBreakCommandListToPieces + break_create_particle/BreakFadeEmissive",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc82b30",
  "name": "AttackState::OnExit",
  "confidence": "high",
  "rationale": "string literally 'AttackState:OnExit()' + PopPostureContext underflow",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15cb360",
  "name": "BreakJointByName",
  "confidence": "high",
  "rationale": "string 'BreakJointByName' + error '[%s] could not find joint %s!' name the function directly",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2112d60",
  "name": "BuildComponentRecursive",
  "confidence": "high",
  "rationale": "literal 'BuildComponentRecursive' string + entitysystem.cpp component-layout errors; self-recursive",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17cfd20",
  "name": "CAI_Expresser::NoteSpeaking",
  "confidence": "high",
  "rationale": "debug string literally '   NoteSpeaking( %f, %f ) (stop at %f)'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17fcc00",
  "name": "CAI_Expresser::SpeakAutoGeneratedScene",
  "confidence": "high",
  "rationale": "debug string literally 'SpeakAutoGeneratedScene( %s, %f) %f'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17fcdb0",
  "name": "CAI_Expresser::SpeakRawScene",
  "confidence": "high",
  "rationale": "debug string literally 'SpeakRawScene( %s, %f) %f'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf7cb90",
  "name": "CAmbientGeneric::RampThink",
  "confidence": "high",
  "rationale": "think-context string 'CAmbientGenericRampThink' = Class+Method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15d83c0",
  "name": "CAnimGraphController::PreGraphUpdate",
  "confidence": "high",
  "rationale": "strings 'animgraphcontroller.cpp' + method name 'PreGraphUpdate' pin it directly",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeb6440",
  "name": "CAnimGraphGameSystem::OnServerPrePackEntities",
  "confidence": "high",
  "rationale": "string 'OnServerPrePackEntities' with animgraph_gamesystem.cpp source path, slot 58",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd04310",
  "name": "CBarnLight::Think_ApplyLightStylesToTargets",
  "confidence": "high",
  "rationale": "class=CBarnLight vtable slot14; string 'Think_ApplyLightStylesToTargets' literally names the method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15d60a0",
  "name": "CBaseAnimGraphController::SequenceDuration",
  "confidence": "high",
  "rationale": "Asserts literally name 'CBaseAnimGraphController::SequenceDuration( %d )...'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17ec5f0",
  "name": "CBaseCombatCharacter::UpdateLastKnownNav",
  "confidence": "high",
  "rationale": "basecombatcharacter.cpp + 'CBaseCombatCharacter::UpdateLastKnownNav' name it.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17f86e0",
  "name": "CBaseEntity::ClearNavIgnoreContentsThink",
  "confidence": "high",
  "rationale": "Strings are substrings of 'ClearNavIgnoreContentsThink'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15f2bf0",
  "name": "CBaseEntity::SUB_FadeOut",
  "confidence": "high",
  "rationale": "string literally contains '::SUB_FadeOut' think-context name",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3d00",
  "name": "CBaseGameStats::Event_LevelInit",
  "confidence": "high",
  "rationale": "String 'CBaseGameStats::Event_LevelInit [%s]'.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b35c0",
  "name": "CBaseGameStats::Event_LevelShutdown",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_LevelShutdown [%s] %.2f elapsed %d total'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b4330",
  "name": "CBaseGameStats::Event_MapChange",
  "confidence": "high",
  "rationale": "log string literally 'CBaseGameStats::Event_MapChange to [%s]'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3910",
  "name": "CBaseGameStats::Event_PlayerConnected",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_PlayerConnected [%s]'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3950",
  "name": "CBaseGameStats::Event_PlayerDisconnected",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_PlayerDisconnected [%s]'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b36a0",
  "name": "CBaseGameStats::Event_PlayerKilled",
  "confidence": "high",
  "rationale": "string CBaseGameStats::Event_PlayerKilled [%s]",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3990",
  "name": "CBaseGameStats::Event_PlayerKilledOther",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_PlayerKilledOther [%s] killed [%s]'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b4c10",
  "name": "CBaseGameStats_Driver::Event_LevelShutdown",
  "confidence": "high",
  "rationale": "String 'CBaseGameStats::Event_LevelShutdown [%s] %.2f elapsed %d total'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b4660",
  "name": "CBaseGameStats_Driver::Event_LoadGame",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_LoadGame [%s] from %s'; class Driver slot 51",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b4610",
  "name": "CBaseGameStats_Driver::Event_SaveGame",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_SaveGame [%s]'; class Driver slot 50",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1610b50",
  "name": "CBaseModelEntity::InputSetBodyGroup",
  "confidence": "high",
  "rationale": "strings 'InputSetBodyGroup' + 'unexpected parameter format for InputSetBodyGroup'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15f4b80",
  "name": "CBaseModelEntity::SUB_FadeOut",
  "confidence": "high",
  "rationale": "string 'CBaseModelEntity::SUB_FadeOut' literally names it",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16045a0",
  "name": "CBaseModelEntity::SetRenderAttribute",
  "confidence": "high",
  "rationale": "error 'SetRenderAttribute on %s: FAILED to set %s...' names the method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1604ee0",
  "name": "CBaseModelEntityAPI::SetRenderAttribute",
  "confidence": "high",
  "rationale": "log string literally names 'CBaseModelEntityAPI::SetRenderAttribute'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x20600d0",
  "name": "CBasePulseGraphInstance::CBasePulseGraphInstance",
  "confidence": "high",
  "rationale": "log string literally 'CBasePulseGraphInstance::CBasePulseGraphInstance( %p )'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x205f240",
  "name": "CBasePulseGraphInstance::EndGraphReload",
  "confidence": "high",
  "rationale": "string 'CBasePulseGraphInstance::EndGraphReload( %p ) %s' names it",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2060a40",
  "name": "CBasePulseGraphInstance::InitInstance_Internal",
  "confidence": "high",
  "rationale": "string literally 'CBasePulseGraphInstance::InitInstance_Internal( %s; %p ) %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x20601e0",
  "name": "CBasePulseGraphInstance::Shutdown",
  "confidence": "high",
  "rationale": "string literally 'CBasePulseGraphInstance::Shutdown( %s; %p ) %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2060670",
  "name": "CBasePulseGraphInstance::StartGraphReload",
  "confidence": "high",
  "rationale": "references its own log string 'CBasePulseGraphInstance::StartGraphReload( %p ) %s' plus IPulseInstanceSaveAPI",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xed2d40",
  "name": "CBodyGameSystem::NotifyResourcePreReload",
  "confidence": "high",
  "rationale": "string literally names CBodyGameSystem::NotifyResourcePreReload",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xef6f60",
  "name": "CBodyGameSystem::NotifyResourceStatusChange",
  "confidence": "high",
  "rationale": "string literally: \"CBodyGameSystem::NotifyResourceStatusChange[%s] %s (RC=%d,LT=%s)\".",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc70d50",
  "name": "CBotManager::IsLineBlockedBySmoke",
  "confidence": "high",
  "rationale": "string literally 'CBotManager::IsLineBlockedBySmoke' in bot_manager.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc709d0",
  "name": "CBotManager::IsVisibleThroughSmoke",
  "confidence": "high",
  "rationale": "string literally 'CBotManager::IsVisibleThroughSmoke' in bot_manager.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc74640",
  "name": "CBotManager::StartFrame",
  "confidence": "high",
  "rationale": "'CBotManager::StartFrame','CBotManager::StartFrame - ComputePartPositions' in bot_manager.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1539b50",
  "name": "CCS2PawnGraphController::ReflectPawnState",
  "confidence": "high",
  "rationale": "assert names CCS2PawnGraphController::ReflectPawnState",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15858f0",
  "name": "CCS2WeaponGraphController::ReflectWeaponState",
  "confidence": "high",
  "rationale": "String literally names CCS2WeaponGraphController::ReflectWeaponState + source file path.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe3940",
  "name": "CCSBot::BendLineOfSight",
  "confidence": "high",
  "rationale": "literal 'CCSBot::BendLineOfSight', cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc0d4d0",
  "name": "CCSBot::Blind",
  "confidence": "high",
  "rationale": "'Blind'/'Blinded'/'I'm blind!'/'Blinded: holdTime = %3.2f' flashbang reaction",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe2690",
  "name": "CCSBot::ComputePartPositions",
  "confidence": "high",
  "rationale": "assert string 'CCSBot::ComputePartPositions' in cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbf9520",
  "name": "CCSBot::ComputePath",
  "confidence": "high",
  "rationale": "strings literally 'CCSBot::ComputePath'/'ComputePath' with cs_bot_pathfind.cpp and 'Error building path'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe4f60",
  "name": "CCSBot::FindMostDangerousThreat",
  "confidence": "high",
  "rationale": "self-named 'CCSBot::FindMostDangerousThreat', cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe2f90",
  "name": "CCSBot::GetPartPosition",
  "confidence": "high",
  "rationale": "assert string 'CCSBot::GetPartPosition' in cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbf1640",
  "name": "CCSBot::IsEnemyPartVisible",
  "confidence": "high",
  "rationale": "literal 'CCSBot::IsEnemyPartVisible', cs_bot.h",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc0cb70",
  "name": "CCSBot::MoveToInitialEncounter",
  "confidence": "high",
  "rationale": "literal 'MoveToInitialEncounter: ...' hiding-spot/battlefront/pathfind messages",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbfab60",
  "name": "CCSBot::Panic",
  "confidence": "high",
  "rationale": "strings 'Panic' and 'Panic yaw angle = %3.2f' name the panic behavior",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbea7b0",
  "name": "CCSBot::SetBotEnemy",
  "confidence": "high",
  "rationale": "debug string literally 'SetBotEnemy: %s' names the method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbea9d0",
  "name": "CCSBot::SetLookAt",
  "confidence": "high",
  "rationale": "debug string '%3.1f SetLookAt( %s ), duration = %f'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe1110",
  "name": "CCSBot::UpdateLookAngles",
  "confidence": "high",
  "rationale": "literal 'CCSBot::UpdateLookAngles', cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe3740",
  "name": "CCSBot::UpdatePeripheralVision",
  "confidence": "high",
  "rationale": "assert string 'CCSBot::UpdatePeripheralVision' in cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbe6b60",
  "name": "CCSBot::UpdateReactionQueue",
  "confidence": "high",
  "rationale": "assert string 'CCSBot::UpdateReactionQueue' in cs_bot_vision.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc08750",
  "name": "CCSBotManager::BotPlaceCommand",
  "confidence": "high",
  "rationale": "self-named 'Error: BotPlaceCommand() could not find a bot...' + bot_place errors",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x130b710",
  "name": "CCSGameRules::FPlayerCanRespawn",
  "confidence": "high",
  "rationale": "Debug string 'FPlayerCanRespawn: pPlayer=0' literally names the function",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12e5aa0",
  "name": "CCSGameRules::FrameUpdatePreEntityThink",
  "confidence": "high",
  "rationale": "literal 'FrameUpdatePreEntityThink' at CCSGameRules slot 18",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3750",
  "name": "CCSGameStats::Event_Commentary",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_Commentary [%d]'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b38a0",
  "name": "CCSGameStats::Event_CrateSmashed",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_CrateSmashed'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b37b0",
  "name": "CCSGameStats::Event_Credits",
  "confidence": "high",
  "rationale": "Strings 'CBaseGameStats::Event_Credits' / 'EVENT_CREDITS with negative elapsed time'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3b30",
  "name": "CCSGameStats::Event_DecrementPlayerEnteredNoClip",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_DecrementPlayerEnteredNoClip [%s]'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3c40",
  "name": "CCSGameStats::Event_Init",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_Init [%dth session]'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3670",
  "name": "CCSGameStats::Event_LoadGame",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_LoadGame [%s] from %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b35b0",
  "name": "CCSGameStats::Event_MapChange",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_MapChange to [%s]'; class CCSGameStats slot 7",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3ab0",
  "name": "CCSGameStats::Event_PlayerEnteredGodMode",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_PlayerEnteredGodMode [%s] entered GOD mode'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3af0",
  "name": "CCSGameStats::Event_PlayerEnteredNoClip",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_PlayerEnteredNoClip [%s] entered NOCLIP'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b38e0",
  "name": "CCSGameStats::Event_PreSaveGameLoaded",
  "confidence": "high",
  "rationale": "string CBaseGameStats::Event_PreSaveGameLoaded [%s] %s",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b38b0",
  "name": "CCSGameStats::Event_Punted",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_Punted [%s]'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3640",
  "name": "CCSGameStats::Event_SaveGame",
  "confidence": "high",
  "rationale": "log 'CBaseGameStats::Event_SaveGame [%s]'; class CCSGameStats slot 10",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b39e0",
  "name": "CCSGameStats::Event_WeaponFired",
  "confidence": "high",
  "rationale": "string CBaseGameStats::Event_WeaponFired [%s]",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3a40",
  "name": "CCSGameStats::Event_WeaponHit",
  "confidence": "high",
  "rationale": "string CBaseGameStats::Event_WeaponHit [%s] ... damage [%f]",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18cf1a0",
  "name": "CCSHLTVDirector::OnHLTVUncompressedSnapshot",
  "confidence": "high",
  "rationale": "'CHLTVDirector::OnHLTVUncompressedSnapshot: failed to serialize last camera event.' string; class CCSHLTVDirector.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14b5e00",
  "name": "CCSHitboxSystem::TraceShapeAgainstHitboxes",
  "confidence": "high",
  "rationale": "String '%s: TraceShapeAgainstHitboxes' literally names the method.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd05290",
  "name": "CCSNavArea::IncrementPlayerCount",
  "confidence": "high",
  "rationale": "string 'CCSNavArea::IncrementPlayerCount: Overflow'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21797e0",
  "name": "CCSNavArea::PostLoad",
  "confidence": "high",
  "rationale": "class CCSNavArea + literal 'CNavArea::PostLoad: Corrupt navigation data' messages",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15c0530",
  "name": "CCSObserverPawn::PrePhysicsSimulate",
  "confidence": "high",
  "rationale": "slot 351, baseplayerpawn_shared.cpp + 'PrePhysicsSimulate' assert context.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15dd950",
  "name": "CCSPlayerController::PrePhysicsSimulate",
  "confidence": "high",
  "rationale": "slot 158, baseplayerpawn_shared.cpp + 'PrePhysicsSimulate' assert context.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x159dab0",
  "name": "CCSPlayerWeaponTimingGraph::RunTick",
  "confidence": "high",
  "rationale": "assert names CCSPlayerWeaponTimingGraph::RunTick",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14db950",
  "name": "CCSPlayer_ItemServices::AddToRebuy",
  "confidence": "high",
  "rationale": "error string 'Unhandled loadout slot (%i) in AddToRebuy' names the method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1589a70",
  "name": "CCSPlayer_WeaponServices::GetInterpolatedShootPosition",
  "confidence": "high",
  "rationale": "format string literally '%s: GetInterpolatedShootPosition time...'; matches ShootPositionHistory",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb44c20",
  "name": "CCSScript_EntityScript::OnBeforePlayerDamage",
  "confidence": "high",
  "rationale": "'OnBeforePlayerDamage' + 'Invalid return type from Instance.OnBeforePlayerDamage'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb42110",
  "name": "CCSScript_EntityScript::OnGrenadeThrow",
  "confidence": "high",
  "rationale": "class CCSScript_EntityScript slot 23, string 'OnGrenadeThrow' + projectile/weapon",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3cd80",
  "name": "CCSScript_EntityScript::OnGunFire",
  "confidence": "high",
  "rationale": "string literally 'OnGunFire' with CSWeaponBase/weapon args, slot 19",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3cbd0",
  "name": "CCSScript_EntityScript::OnGunReload",
  "confidence": "high",
  "rationale": "string literally 'OnGunReload' with CSWeaponBase/weapon args, slot 20",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb453b0",
  "name": "CCSScript_EntityScript::OnModifyPlayerDamage",
  "confidence": "high",
  "rationale": "'OnModifyPlayerDamage' + (damage: number, info?: Object) + Invalid return type",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb43210",
  "name": "CCSScript_EntityScript::OnPlayerDamage",
  "confidence": "high",
  "rationale": "'OnPlayerDamage' + damageFlags/damageTypes/hitGroup args",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3bf90",
  "name": "CCSScript_EntityScript::OnPlayerJump",
  "confidence": "high",
  "rationale": "string literally 'OnPlayerJump' with CSPlayerPawn/player args, slot 15",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb42300",
  "name": "CCSScript_EntityScript::OnPlayerKill",
  "confidence": "high",
  "rationale": "'OnPlayerKill' + attacker/inflictor/player/weapon args",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3bde0",
  "name": "CCSScript_EntityScript::OnPlayerLand",
  "confidence": "high",
  "rationale": "string literally 'OnPlayerLand' with CSPlayerPawn/player args, slot 16",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3bbf0",
  "name": "CCSScript_EntityScript::OnPlayerPing",
  "confidence": "high",
  "rationale": "class CCSScript_EntityScript slot 18, string 'OnPlayerPing' + player/position callback",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3c140",
  "name": "CCSScript_EntityScript::OnPlayerReset",
  "confidence": "high",
  "rationale": "string literally 'OnPlayerReset' with CSPlayerPawn/player args, slot 11",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb3ca20",
  "name": "CCSScript_EntityScript::OnWeaponDrop",
  "confidence": "high",
  "rationale": "string literally 'OnWeaponDrop' with CSWeaponBase/weapon args, slot 22",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1432232",
  "name": "CCSWeaponBase::GetEconWpnData",
  "confidence": "high",
  "rationale": "string 'GetEconWpnData' + fatal 'Weapon script file not found' error names it",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1f880d0",
  "name": "CChoreoEvent_EXTERNAL_ANIMGRAPH::SetExternalAnimgraphResource",
  "confidence": "high",
  "rationale": "string literally names method 'SetExternalAnimgraphResource'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c4d6d0",
  "name": "CCoJobMgr::BResumeYieldingJobs",
  "confidence": "high",
  "rationale": "literal 'CCoJobMgr::BResumeYieldingJobs' + cojobmgr.cpp",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c54680",
  "name": "CCommand::Tokenize",
  "confidence": "high",
  "rationale": "'CCommand::Tokenize: Encountered command which overflows the tokenizer buffer'.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0xeca2c0",
  "name": "CCustomGameEventManager::ScriptSend_ServerToPlayer",
  "confidence": "high",
  "rationale": "references 'CCustomGameEventManager::ScriptSend_ServerToPlayer - Invalid player'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xedcb20",
  "name": "CCustomGameEventManager::Script_RegisterListener",
  "confidence": "high",
  "rationale": "strings literally 'CCustomGameEventManager::Script_RegisterListener - Registered %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeacf30",
  "name": "CCustomGameEventManager::Script_UnregisterListener",
  "confidence": "high",
  "rationale": "strings literally 'CCustomGameEventManager::Script_UnregisterListener - ID %d not found'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1656b60",
  "name": "CDebugOverlayAIEventFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1657d30",
  "name": "CDebugOverlayCombinedFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1655900",
  "name": "CDebugOverlayEntityFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1655f00",
  "name": "CDebugOverlayPathfindingFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1656530",
  "name": "CDebugOverlayScheduleFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1656230",
  "name": "CDebugOverlayTacticalFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1656850",
  "name": "CDebugOverlayTaskFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1655490",
  "name": "CDebugOverlayTextFilter::FindAllMatchingSnapshots",
  "confidence": "high",
  "rationale": "slot 10 references 'FindAllMatchingSnapshots'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xecf620",
  "name": "CDecalGameSystem::LoopInit",
  "confidence": "high",
  "rationale": "string literally 'CDecalGameSystem::LoopInit'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f990",
  "name": "CDynamicNavConnectionsVolume::CDynamicNavConnectionsVolume",
  "confidence": "high",
  "rationale": "Class-name string + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b4bb70",
  "name": "CEconItem::BAddToMessage",
  "confidence": "high",
  "rationale": "string CEconItem::BAddToMessage + econ_item.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b4ad10",
  "name": "CEconItem::DeserializeFromProtoBufItem",
  "confidence": "high",
  "rationale": "literal 'CEconItem::DeserializeFromProtoBufItem()' + econ_item.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16aedb0",
  "name": "CEngineTrace::TraceRotatedBody",
  "confidence": "high",
  "rationale": "'TraceRotatedBody' marker + calls TraceShape (0x16ae1c0)",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16ae1c0",
  "name": "CEngineTrace::TraceShape",
  "confidence": "high",
  "rationale": "'Physics/TraceShape (Server)' profile marker + InitGameTrace; 181 callers",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16dbf60",
  "name": "CEntity2SaveRestore::AppendTransitionResources",
  "confidence": "high",
  "rationale": "String literally names 'CEntity2SaveRestore::AppendTransitionResources'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169c170",
  "name": "CEntity2SaveRestore::BeginRestoreEntities",
  "confidence": "high",
  "rationale": "'%s: BeginRestoreEntities' + 'BeginRestoreEntities without previous EndRestoreEntities'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169d200",
  "name": "CEntity2SaveRestore::ClearSaveFile",
  "confidence": "high",
  "rationale": "'async CEntity2SaveRestore::ClearSaveFile(%s)' string names it.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169cdf0",
  "name": "CEntity2SaveRestore::DirectoryCopy",
  "confidence": "high",
  "rationale": "string literally 'CEntity2SaveRestore::DirectoryCopy'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169b290",
  "name": "CEntity2SaveRestore::DispatchAsyncSave",
  "confidence": "high",
  "rationale": "string '%s:  %s CEntity2SaveRestore::DispatchAsyncSave' names the method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b8a40",
  "name": "CEntity2SaveRestore::EntityDataWrite",
  "confidence": "high",
  "rationale": "string 'WRITE KV3 TO %s in CEntity2SaveRestore::EntityDataWrite' names it",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16c3980",
  "name": "CEntity2SaveRestore::EntityPatchWrite",
  "confidence": "high",
  "rationale": "'EntityPatchWrite( %s ) wrote %d entries' string names the method.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169e620",
  "name": "CEntity2SaveRestore::ExecuteSave",
  "confidence": "high",
  "rationale": "strings 'CEntity2SaveRestore::ExecuteSave...' and 'ExecuteSave( %s ) took %f msec'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16f9ec0",
  "name": "CEntity2SaveRestore::LoadAdjacentEnts",
  "confidence": "high",
  "rationale": "String 'in CEntity2SaveRestore::LoadAdjacentEnts' + level-transition messages.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b9950",
  "name": "CEntity2SaveRestore::SaveGame_Finalize",
  "confidence": "high",
  "rationale": "strings literally 'CEntity2SaveRestore::SaveGame_Finalize'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169da90",
  "name": "CEntity2SaveRestore::SaveGame_Start",
  "confidence": "high",
  "rationale": "self-named log 'in CEntity2SaveRestore::SaveGame_Start' + 'Saving game to %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x168ae20",
  "name": "CEntity2SaveRestore::SetMostRecentElapsedTime",
  "confidence": "high",
  "rationale": "String 'ET:  SetMostRecentElapsedTime( %s ) at %d' names the method.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16cbc80",
  "name": "CEntity2SaveRestore::StartNewRestore",
  "confidence": "high",
  "rationale": "log '%s: StartNewRestore'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x20ffcd0",
  "name": "CEntityClass::Unserialize",
  "confidence": "high",
  "rationale": "references own log 'CEntityClass::Unserialize( %d:%s:%s )' plus AllowRawStringTokenTransfer",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffc720",
  "name": "CEntityFlame::FlameThink",
  "confidence": "high",
  "rationale": "think-context string 'CEntityFlameFlameThink' = Class+Method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21057e0",
  "name": "CEntityInstance::Spawn",
  "confidence": "high",
  "rationale": "slot10 references string 'Spawn'; slot10=Spawn confirmed across sibling classes",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x210b980",
  "name": "CEntityKeyValues::LoadFromContext",
  "confidence": "high",
  "rationale": "string 'CEntityKeyValues::LoadFromContext: Invalid version!' names it",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe0e3e0",
  "name": "CEntityLumpRequest::Start",
  "confidence": "high",
  "rationale": "literal 'CEntityLumpRequest::Start:  loading map...' / 'LOAD START %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16a18c0",
  "name": "CEntitySaveRestoreBlockHandler::PreSave",
  "confidence": "high",
  "rationale": "Strings 'PreSave(%d): entity identity/instance is missing...' name PreSave.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xee1ae0",
  "name": "CEntitySubclassGameSystem::LoadSubclasses",
  "confidence": "high",
  "rationale": "'CEntitySubclassGameSystem' + 'LoadSubclasses' + 'No subclass vdata file'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xee1770",
  "name": "CEntitySubclassGameSystem::ParseVDataFile",
  "confidence": "high",
  "rationale": "'ParseVDataFile','No subclass vdata file %s found' in entitysubclassgamesystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2126af0",
  "name": "CEntitySystem::PrecacheEntity",
  "confidence": "high",
  "rationale": "string 'CEntitySystem::PrecacheEntity: Classname missing from entity!'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2124220",
  "name": "CEntitySystem::RegisterAliasEntityClass",
  "confidence": "high",
  "rationale": "literal 'RegisterAliasEntityClass' + alias errors, entitysystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x212de40",
  "name": "CEntitySystem::RegisterComponentType",
  "confidence": "high",
  "rationale": "strings 'RegisterComponentType' + 'Multiple registration of class %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2123fc0",
  "name": "CEntitySystem::RegisterEntityClass",
  "confidence": "high",
  "rationale": "literal 'RegisterEntityClass' + duplicate-designer-name errors, entitysystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffc760",
  "name": "CEnvLaser::StrikeThink",
  "confidence": "high",
  "rationale": "think-context string 'CEnvLaserStrikeThink' = Class+Method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10c00a0",
  "name": "CEnvSoundscape::CEnvSoundscape",
  "confidence": "high",
  "rationale": "Class-name string 'CEnvSoundscape' + entity ctor callee set = constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10c02a0",
  "name": "CEnvSoundscapeProxy::CEnvSoundscapeProxy",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base CEnvSoundscape ctor sub_0x10c00a0",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10c0450",
  "name": "CEnvSoundscapeTriggerable::CEnvSoundscapeTriggerable",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base CEnvSoundscape ctor sub_0x10c00a0",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1863360",
  "name": "CEnvSpark::SparkThink",
  "confidence": "high",
  "rationale": "think-context name string CEnvSparkSparkThink = class+method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffc740",
  "name": "CFishPool::Update",
  "confidence": "high",
  "rationale": "think-context string 'CFishPoolUpdate' = Class+Method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcddd0",
  "name": "CFogController::SetLerpValues",
  "confidence": "high",
  "rationale": "String literally names 'CFogControllerSetLerpValues' (CFogController::SetLerpValues)",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f7e0",
  "name": "CFuncBrush::CFuncBrush",
  "confidence": "high",
  "rationale": "Class-name string 'CFuncBrush' + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10c1130",
  "name": "CFuncTrackTrain::CFuncTrackTrain",
  "confidence": "high",
  "rationale": "Class-name string 'CFuncTrackTrain' + entity ctor callee set = constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x227d8c0",
  "name": "CGCClient::BSendGCMsgToClient",
  "confidence": "high",
  "rationale": "literal 'CGCClient - BSendGCMsgToClient (ProtoBuf)' in gcclient.cpp",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16a5600",
  "name": "CGameEntitySystem::SortEntities",
  "confidence": "high",
  "rationale": "'Memory trash in SortEntities.. overran the number of entity islands supported!'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16aad20",
  "name": "CGameEventManager::FireEvent",
  "confidence": "high",
  "rationale": "'FireEvent: event \\'%s\\' not registered.' + per-key event value logging strings.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0x16c71a0",
  "name": "CGameParticleManager::SetParticleControlEnt",
  "confidence": "high",
  "rationale": "error string literally 'CGameParticleManager::SetParticleControlEnt: Unable to lookup attachment ...'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b1150",
  "name": "CGameSceneNode::BuildBoneMergeWork",
  "confidence": "high",
  "rationale": "strings literally: \"CGameSceneNode::BuildBoneMergeWork: ...\".",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b2be0",
  "name": "CGameSceneNode::StartHierarchicalAttachment",
  "confidence": "high",
  "rationale": "Multiple 'CGameSceneNode::StartHierarchicalAttachment: ...' assertion strings.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1929a20",
  "name": "CGenericConstraint::UpdateThink",
  "confidence": "high",
  "rationale": "think-name string CGenericConstraintUpdateThink",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18d3dd0",
  "name": "CHLTVDirector::OnHLTVUncompressedSnapshot",
  "confidence": "high",
  "rationale": "string names method CHLTVDirector::OnHLTVUncompressedSnapshot",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13c5140",
  "name": "CHostageRescueZone::HostageRescueTouch",
  "confidence": "high",
  "rationale": "Concatenated Class+Method 'CHostageRescueZone'+'HostageRescueTouch', empty callees = touch function",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xca3680",
  "name": "CInferno::CheckExpired",
  "confidence": "high",
  "rationale": "'CInferno::CheckExpired (check lifetimes)','inferno_expire' in inferno.cpp names it",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1903b30",
  "name": "CInfoSpawnGroupLoadUnload::InputActivateSpawnGroup",
  "confidence": "high",
  "rationale": "error literally names 'InputActivateSpawnGroup called with invalid spawn group'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1903e60",
  "name": "CInfoSpawnGroupLoadUnload::InputStartSpawnGroupLoad",
  "confidence": "high",
  "rationale": "string InputStartSpawnGroupLoad(%s)",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f79e0",
  "name": "CInfoSpawnGroupLoadUnload::InputStartSpawnGroupUnload",
  "confidence": "high",
  "rationale": "String 'SV: InputStartSpawnGroupUnload(%s)'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x103dcf0",
  "name": "CItemGenericTriggerHelper::ItemGenericTriggerHelperTouch",
  "confidence": "high",
  "rationale": "touch-context string 'CItemGenericTriggerHelperItemGenericTriggerHelperTouch'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2288310",
  "name": "CJobMgr::BFrameFuncDispatchCompletedWorkItems",
  "confidence": "high",
  "rationale": "literal 'CJobMgr::BFrameFuncDispatchCompletedWorkItems' in jobmgr.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c4ceea",
  "name": "CJobMgr::CheckThreadID",
  "confidence": "high",
  "rationale": "references literal 'CheckThreadID' + assert 'm_unFrameFuncThreadID == unCurrentThread'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2293640",
  "name": "CJobMgr::PassMsgToJob",
  "confidence": "high",
  "rationale": "String 'CJobMgr::PassMsgToJob() job %s received unexpected message...'.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2293200",
  "name": "CJobMgr::WakeDependentJobFinished",
  "confidence": "high",
  "rationale": "String literally 'WakeDependentJobFinished'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19a8230",
  "name": "CLagCompensationManager::CalcRestorePos",
  "confidence": "high",
  "rationale": "'CalcRestorePos could not restore player position', player_lagcompensation.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1999260",
  "name": "CLagCompensationManager::RecordDataIntoTrack",
  "confidence": "high",
  "rationale": "string 'RecordDataIntoTrack' + ./player_lagcompensation.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xec8c20",
  "name": "CLightQueryGameSystem::OnPostSimulate",
  "confidence": "high",
  "rationale": "string literally 'CLightQueryGameSystem::OnPostSimulate'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f56c0",
  "name": "CLogicActiveAutosave::SaveThink",
  "confidence": "high",
  "rationale": "think-name string CLogicActiveAutosaveSaveThink",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f56f0",
  "name": "CLogicDistanceAutosave::SaveThink",
  "confidence": "high",
  "rationale": "think-name string CLogicDistanceAutosaveSaveThink",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f5b40",
  "name": "CLogicGameStateReport::SetGameStateReportThink",
  "confidence": "high",
  "rationale": "think-name string CLogicGameStateReportSetGameStateReportThink",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x170ad00",
  "name": "CLoopModeGame::AddViewsToSceneSystem",
  "confidence": "high",
  "rationale": "loopmodegame.cpp + 'AddViewsToSceneSystem' name the method.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x171af50",
  "name": "CLoopModeGame::OnFirstMapLoaded",
  "confidence": "high",
  "rationale": "log '%s: CLoopModeGame::OnFirstMapLoaded'; class slot 2 matches",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x170dd80",
  "name": "CLoopModeGame::~CLoopModeGame",
  "confidence": "high",
  "rationale": "'--CLoopModeGame::~CLoopModeGame' / '%s: CLoopModeGame destructed'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108ec50",
  "name": "CMapSharedEnvironment::CMapSharedEnvironment",
  "confidence": "high",
  "rationale": "Class-name string + entity ctor callee set (sub_0xa2e6a0/a31be0/a31d00/a44d50) + self-recursion = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf3dd00",
  "name": "CMapSpawnGroup::OnPostSpawnGroupLoad",
  "confidence": "high",
  "rationale": "self-named 'CMapSpawnGroup::OnPostSpawnGroupLoad: Misconfigured CInfoSpawnGroupLoadUnload...couldn't find landmark'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb91720",
  "name": "CMapVetoPickController::VoteControllerThink",
  "confidence": "high",
  "rationale": "VProf node string 'CMapVetoPickControllerVoteControllerThink'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f210",
  "name": "CMarkupVolume::CMarkupVolume",
  "confidence": "high",
  "rationale": "Class-name string + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f410",
  "name": "CMarkupVolumeTagged::CMarkupVolumeTagged",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base CMarkupVolume ctor sub_0x108f210",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f5f0",
  "name": "CMarkupVolumeWithRef::CMarkupVolumeWithRef",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base CMarkupVolumeTagged ctor sub_0x108f410",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bfa5c0",
  "name": "CNavArea::UpdateBlocked",
  "confidence": "high",
  "rationale": "'UpdateBlocked: Area %d is already blocked...' + block/unblock strings",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbfe220",
  "name": "CNavBreadthFirstSearch::BreadthFirstSearchCore",
  "confidence": "high",
  "rationale": "assert 'CNavBreadthFirstSearch:BreadthFirstSearchCore' in nav_search_bfs.inl",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b73520",
  "name": "CNavGameSystem::PostSpawnGroupLoad",
  "confidence": "high",
  "rationale": "string literally 'CNavGameSystem::PostSpawnGroupLoad (%s)'; slot 16",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b9f140",
  "name": "CNavGameSystem::PostSpawnGroupUnload",
  "confidence": "high",
  "rationale": "literal 'CNavGameSystem::PostSpawnGroupUnload (%s)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b96820",
  "name": "CNavMarkupManager::AddAttributeForMarkupVolume_Blocks",
  "confidence": "high",
  "rationale": "String literally names CNavMarkupManager::AddAttributeForMarkupVolume_Blocks.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21ed4e0",
  "name": "CNavMesh::GetGroundHeight",
  "confidence": "high",
  "rationale": "string 'CNavMesh::GetGroundHeight' + nav_mesh.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b84760",
  "name": "CNavObstacleSplitMgr::DebugDraw",
  "confidence": "high",
  "rationale": "string CNavObstacleSplitMgr::DebugDraw - num removed = %d",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bf40c0",
  "name": "CNavQuery::FindRandomConnectedPoint",
  "confidence": "high",
  "rationale": "string literally 'CNavQuery::FindRandomConnectedPoint' + 'No search positions found'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2117900",
  "name": "CNetworkFieldScratchData::Alloc",
  "confidence": "high",
  "rationale": "string 'CNetworkFieldScratchData::Alloc created buffer %s of size %s' names it, class slot3",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2130b10",
  "name": "CNetworkSerializerBindingBuildFilter::GetFieldPriority",
  "confidence": "high",
  "rationale": "literal 'GetFieldPriority' + 'illegally specified INT_MIN as its priority'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21424e0",
  "name": "CNetworkSerializerFieldInfo::InitCodeGenTypes",
  "confidence": "high",
  "rationale": "Error string literally 'CNetworkSerializerFieldInfo::InitCodeGenTypes: ...'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa66bf0",
  "name": "CNetworkTransmitComponent::FireEvent",
  "confidence": "high",
  "rationale": "string 'CNetworkTransmitComponent::FireEvent( m_bPendingStateChange == true )'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa7be60",
  "name": "CNetworkTransmitComponent::StateChangedBranch",
  "confidence": "high",
  "rationale": "string 'CNetworkTransmitComponent::StateChangedBranch( overflowed shared changeinfos )'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1df9ba0",
  "name": "CNmGraphInstance::ExecutePostPhysicsPoseTasks",
  "confidence": "high",
  "rationale": "String literally names CNmGraphInstance::ExecutePostPhysicsPoseTasks + animgraph_instance.cpp.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1df4b10",
  "name": "CNmGraphInstance::ExecutePrePhysicsPoseTasks",
  "confidence": "high",
  "rationale": "literal 'CNmGraphInstance::ExecutePrePhysicsPoseTasks' + animgraph_instance.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1df4bd0",
  "name": "CNmGraphInstance::GetCurrentGraphTimingInfo",
  "confidence": "high",
  "rationale": "literal 'CNmGraphInstance::GetCurrentGraphTimingInfo'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d85f00",
  "name": "CNmTaskSystem::SerializeTasks",
  "confidence": "high",
  "rationale": "literal 'CNmTaskSystem::SerializeTasks' + animtasksystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d877b0",
  "name": "CNmTaskSystem::UpdatePostPhysics",
  "confidence": "high",
  "rationale": "string CNmTaskSystem::UpdatePostPhysics + animtasksystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d88480",
  "name": "CNmTaskSystem::UpdatePrePhysics",
  "confidence": "high",
  "rationale": "string literally 'CNmTaskSystem::UpdatePrePhysics' + 'Co-dependent physics tasks detected!' in animtasksystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1be7b40",
  "name": "CPath::AssemblePrecomputedPath",
  "confidence": "high",
  "rationale": "literal 'CPath::AssemblePrecomputedPath' + 'Failed to ComputePathDetails'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1be8390",
  "name": "CPath::ComputePathCore",
  "confidence": "high",
  "rationale": "references its own name string 'CPath::ComputePathCore' and 'ComputePathCore failed to build path'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bdc950",
  "name": "CPath::ComputePathDetails",
  "confidence": "high",
  "rationale": "literal 'CPath::ComputePathDetails'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1be85a0",
  "name": "CPath::ComputePathPosToPosCore",
  "confidence": "high",
  "rationale": "references its own name string 'CPath::ComputePathPosToPosCore'; calls GetNearestNavArea helper",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bdc260",
  "name": "CPath::GetNearestNavAreaAndGravityOrientedGoalPos",
  "confidence": "high",
  "rationale": "references its own name string 'CPath::GetNearestNavAreaAndGravityOrientedGoalPos'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1092cd0",
  "name": "CPathParticleRopeAlias_path_particle_rope_clientside::CPathParticleRopeAlias_path_particle_rope_clientside",
  "confidence": "high",
  "rationale": "Full alias class-name string + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1093020",
  "name": "CPathQueryComponent::CPathQueryComponent",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls CPathQueryUtil ctor sub_0x1092ef0",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bdcf90",
  "name": "CPathfindMulti::FindBestGoal",
  "confidence": "high",
  "rationale": "literal 'CPathfindMulti::FindBestGoal' + 'Failed to find goal area'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bfcb00",
  "name": "CPathfindMulti::MultiPathfind_Core",
  "confidence": "high",
  "rationale": "literal 'CPathfindMulti::MultiPathfind_Core' + start/goal area search logs",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf127b0",
  "name": "CPhysicsGameSystem::GameActivate",
  "confidence": "high",
  "rationale": "string literally '%s:  CPhysicsGameSystem::GameActivate' at slot 8",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf5ec60",
  "name": "CPhysicsGameSystem::GameDeactivate",
  "confidence": "high",
  "rationale": "string literally '%s:  CPhysicsGameSystem::GameDeactivate' at slot 12",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf5d860",
  "name": "CPhysicsGameSystem::GameInit",
  "confidence": "high",
  "rationale": "class set slot 3; self-named log 'CPhysicsGameSystem::GameInit' + GameWorldInit",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf5adb0",
  "name": "CPhysicsGameSystem::GameShutdown",
  "confidence": "high",
  "rationale": "references '%s: CPhysicsGameSystem::GameShutdown'; class CPhysicsGameSystem slot4",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf64580",
  "name": "CPhysicsGameSystem::OnSimulate",
  "confidence": "high",
  "rationale": "references 'CPhysicsGameSystem::OnSimulate' and physicsgamesystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf5cd40",
  "name": "CPhysicsGameSystem::PostSpawnGroupUnload",
  "confidence": "high",
  "rationale": "string literally 'CPhysicsGameSystem::PostSpawnGroupUnload(%s: %s)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf5eb50",
  "name": "CPhysicsGameSystem::PreSpawnGroupLoad",
  "confidence": "high",
  "rationale": "string literally 'CPhysicsGameSystem::PreSpawnGroupLoad(%s: %s)'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf21b20",
  "name": "CPhysicsGameSystem::PullKinematicTransformsWorker",
  "confidence": "high",
  "rationale": "string literally 'CPhysicsGameSystem::PullKinematicTransformsWorker'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1984780",
  "name": "CPlayerVoiceListener::PostSpawnGroupUnload",
  "confidence": "high",
  "rationale": "string literally 'CPlayerVoiceListener::PostSpawnGroupUnload()'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x173cf80",
  "name": "CPlayer_ItemServices::GiveNamedItem",
  "confidence": "high",
  "rationale": "'NULL Ent in GiveNamedItem: %s!' names the method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b46f0",
  "name": "CPointGamestatsCounter::InputIncrement",
  "confidence": "high",
  "rationale": "string literally: \"CPointGamestatsCounter::InputIncrement: No stat name...\".",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19846f0",
  "name": "CPointHurt::HurtThink",
  "confidence": "high",
  "rationale": "think-name string CPointHurtHurtThink",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcde10",
  "name": "CPointOrient::ReorientThink",
  "confidence": "high",
  "rationale": "String literally names 'CPointOrientReorientThink' (CPointOrient::ReorientThink)",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1984670",
  "name": "CPointValueRemapper::UpdateThink",
  "confidence": "high",
  "rationale": "think-name string CPointValueRemapperUpdateThink",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ad5fe0",
  "name": "CPreloaderGameSystem::ActivateSpawnGroup",
  "confidence": "high",
  "rationale": "'CPreloaderGameSystem::ActivateSpawnGroup activating %u %s' literal",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2048020",
  "name": "CPulseExecCursor::CPulseExecCursor",
  "confidence": "high",
  "rationale": "log string literally 'Cursor[ ptr:%p | id:%d | graph:%p ]: CPulseExecCursor()' names the constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19f60b0",
  "name": "CPulseGraphInstance_ServerEntity::Think",
  "confidence": "high",
  "rationale": "string literally names the method 'CPulseGraphInstance_ServerEntity::Think'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1973380",
  "name": "CRagdollProp::SettleThink",
  "confidence": "high",
  "rationale": "Strings are substrings of 'CRagdollProp::SettleThink'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x175f010",
  "name": "CRecipientFilter::AddAllPlayers",
  "confidence": "high",
  "rationale": "references string literally naming 'CRecipientFilter::AddAllPlayers - no recipients...'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108ee50",
  "name": "CRuleEntity::CRuleEntity",
  "confidence": "high",
  "rationale": "Class-name string 'CRuleEntity' + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x108f030",
  "name": "CRulePointEntity::CRulePointEntity",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base CRuleEntity ctor sub_0x108ee50",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167f110",
  "name": "CSaveRestoreFileSystemPassthrough::DirectoryClear",
  "confidence": "high",
  "rationale": "string WRITE DirectoryClear( %s, %s )",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x168af60",
  "name": "CSaveRestoreFileSystemPassthrough::DirectoryCopy",
  "confidence": "high",
  "rationale": "'WRITE DirectoryCopy( %s, %p )' string + matching class/slot.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b8520",
  "name": "CSaveRestoreFileSystemPassthrough::DirectoryExtract",
  "confidence": "high",
  "rationale": "'WRITE DirectoryExtract( %s, %s )' string + matching class/slot.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a3cee0",
  "name": "CSceneEntity::GenerateSceneForSequence",
  "confidence": "high",
  "rationale": "'CSceneEntity::GenerateSceneForSequence: ...' assertion strings.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a3ce10",
  "name": "CSceneEntity::GenerateSceneForSound",
  "confidence": "high",
  "rationale": "string 'CSceneEntity::GenerateSceneForSound: Couldn't determine duration'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a50100",
  "name": "CSceneEntity::PauseThink",
  "confidence": "high",
  "rationale": "'PauseThink canceling playback' + auto-cancel/resume strings; class CSceneEntity alias slot 246.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a509e0",
  "name": "CSceneEntityAlias_logic_choreographed_scene::PauseThink",
  "confidence": "high",
  "rationale": "'PauseThink canceling playback'/'interrupting scene' pause-think logs.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf03310",
  "name": "CScriptConvarAccessor::GetBool",
  "confidence": "high",
  "rationale": "string 'CScriptConvarAccessor::GetBool failed to parse convar...' names method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf6f380",
  "name": "CScriptConvarAccessor::RegisterCommand",
  "confidence": "high",
  "rationale": "string 'CScriptConvarAccessor::RegisterCommand replacing command already registered: %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf78490",
  "name": "CScriptConvarAccessor::RegisterConvar",
  "confidence": "high",
  "rationale": "string literally 'CScriptConvarAccessor::RegisterConvar convar %s already registered'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a2d540",
  "name": "CScriptedSequence::ScriptThink",
  "confidence": "high",
  "rationale": "debug string 'CScriptedSequenceScriptThink' names class+think method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x186dc30",
  "name": "CShatterGlassShardMgr::ReadRestoreHeaders",
  "confidence": "high",
  "rationale": "'CShatterGlassShardMgr::ReadRestoreHeaders skipping shards' names method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18bd900",
  "name": "CShatterGlassShardMgr::Restore",
  "confidence": "high",
  "rationale": "self-named log 'CShatterGlassShardMgr::Restore %d shards' and 'Restore shard %d parent %d model %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10bb7e0",
  "name": "CSkeletonAnimationController::CSkeletonAnimationController",
  "confidence": "high",
  "rationale": "Class-name string + ctor set, calls base ISkeletonAnimationController ctor sub_0x10bb6d0",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1780300",
  "name": "CSkeletonInstance::CalcAnimationState",
  "confidence": "high",
  "rationale": "string 'CalcAnimationState' + skeletoninstance.cpp path",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17776c2",
  "name": "CSkeletonInstance::SetAnimationController",
  "confidence": "high",
  "rationale": "assert 'CSkeletonInstance::SetAnimationController can only be called once!'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf681a0",
  "name": "CSoundOpGameSystem::SetLibraryStackField",
  "confidence": "high",
  "rationale": "string 'CSoundOpGameSystem::SetLibraryStackField: Faied library stack message...'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf687a0",
  "name": "CSoundOpGameSystem::StopSoundEvent",
  "confidence": "high",
  "rationale": "'CSoundOpGameSystem::StopSoundEvent: Attempting to stop non-existent soundevent: %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe86d80",
  "name": "CSoundOpvarSetAutoRoomEntity::SetOpvarThink",
  "confidence": "high",
  "rationale": "think-context string 'CSoundOpvarSetAutoRoomEntitySetOpvarThink'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe834f0",
  "name": "CSoundOpvarSetOBBWindEntity::SetOpvarThink",
  "confidence": "high",
  "rationale": "think-context string 'CSoundOpvarSetOBBWindEntitySetOpvarThink'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe86d50",
  "name": "CSoundOpvarSetPathCornerEntity::SetOpvarThink",
  "confidence": "high",
  "rationale": "think-context string 'CSoundOpvarSetPathCornerEntitySetOpvarThink'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe834c0",
  "name": "CSoundOpvarSetPointEntity::SetOpvarThink",
  "confidence": "high",
  "rationale": "think-context string 'CSoundOpvarSetPointEntitySetOpvarThink'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a48420",
  "name": "CSoundPatch::ResumeSound",
  "confidence": "high",
  "rationale": "string 'CSoundPatch::ResumeSound: Lost EHAndle on restore...' names the method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a43e40",
  "name": "CSoundPatch::Update",
  "confidence": "high",
  "rationale": "self-named log 'CSoundPatch::Update: Removing CSoundPatch (%s) with NULL EHandle'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18d1320",
  "name": "CSource2GameClients::StartHLTVServer",
  "confidence": "high",
  "rationale": "String 'CSource2GameClients::StartHLTVServer: game event %s not found.'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18efa60",
  "name": "CSource2GameEntities::CheckEntities",
  "confidence": "high",
  "rationale": "'CSource2GameEntities::CheckEntities: %d ents' + FL_EDICT_* flag dump strings.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18d28c0",
  "name": "CSource2Server::Connect",
  "confidence": "high",
  "rationale": "'ERROR: CSource2Server::Connect - ...' + ConnectTier1/2/3Libraries, slot 0.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf284f0",
  "name": "CSpawnGroupMgrGameSystem::CreateLoadingSpawnGroup",
  "confidence": "high",
  "rationale": "class set slot 3; self-named log 'CreateLoadingSpawnGroup for entity list [%d enries]'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf283b0",
  "name": "CSpawnGroupMgrGameSystem::CreateLoadingSpawnGroupForSaveFile",
  "confidence": "high",
  "rationale": "string names the method at slot 4",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf3ff40",
  "name": "CSpawnGroupMgrGameSystem::ExecuteQueuedSpawnEntityCalls",
  "confidence": "high",
  "rationale": "references 'CSpawnGroupMgrGameSystem::ExecuteQueuedSpawnEntityCalls(count=%d)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf28bc0",
  "name": "CSpawnGroupMgrGameSystem::FrameBoundary",
  "confidence": "high",
  "rationale": "class set slot 27; self-named log 'CSpawnGroupMgrGameSystem::FrameBoundary(), invoking unload of spawn group'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf2b760",
  "name": "CSpawnGroupMgrGameSystem::SpawnGroupActuallyShutdown",
  "confidence": "high",
  "rationale": "string literally 'SpawnGroupActuallyShutdown - Precached? %i' plus GetEntitiesBySpawnGroup message",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf3fb30",
  "name": "CSpawnGroupMgrGameSystem::SpawnGroupSpawnEntities",
  "confidence": "high",
  "rationale": "'%s: SpawnGroupSpawnEntities' + 'Spawn entities failed for spawngroup: %u'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1929a50",
  "name": "CSplineConstraint::TransitionThink",
  "confidence": "high",
  "rationale": "think-name string CSplineConstraintTransitionThink",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ada760",
  "name": "CToolGameSimulationAPI::LoadSavegame",
  "confidence": "high",
  "rationale": "error literally 'CToolGameSimulationAPI::LoadSavegame: no such save file'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xadf470",
  "name": "CTouchExpansionComponent::SetTouchEventsEnabled",
  "confidence": "high",
  "rationale": "literal 'TouchExpansionComponent_SetTouchEventsEnabled (ent %s [%d]) - %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87b70",
  "name": "CTriggerActiveWeaponDetect::ActiveWeaponThink",
  "confidence": "high",
  "rationale": "debug string 'CTriggerActiveWeaponDetectActiveWeaponThink' names class+think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdfd4d0",
  "name": "CTriggerFan::PushThink",
  "confidence": "high",
  "rationale": "think-context string 'CTriggerFanPushThink' = Class+Method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87b10",
  "name": "CTriggerGravity::GravityTouch",
  "confidence": "high",
  "rationale": "debug string 'CTriggerGravityGravityTouch' names class+touch method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0x10c1490",
  "name": "CTriggerHurt::CTriggerHurt",
  "confidence": "high",
  "rationale": "Class-name string 'CTriggerHurt' + entity ctor callee set = constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87c70",
  "name": "CTriggerImpact::DisableThink",
  "confidence": "high",
  "rationale": "debug string 'CTriggerImpactDisableThink' names class+think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ab3260",
  "name": "CTriggerLerpObject::LerpThink",
  "confidence": "high",
  "rationale": "class CTriggerLerpObject, think function named by literal 'LerpThink'; sets movetype",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87c40",
  "name": "CTriggerLook::TimeoutThink",
  "confidence": "high",
  "rationale": "debug string 'CTriggerLookTimeoutThink' names class+think method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10c12e0",
  "name": "CTriggerMultiple::CTriggerMultiple",
  "confidence": "high",
  "rationale": "Class-name string 'CTriggerMultiple' + entity ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87b40",
  "name": "CTriggerProximity::MeasureThink",
  "confidence": "high",
  "rationale": "debug string 'CTriggerProximityMeasureThink' names class+think method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a87ae0",
  "name": "CTriggerSave::RetriggerWaitOver",
  "confidence": "high",
  "rationale": "debug string 'CTriggerSaveRetriggerWaitOver' names class+think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x109de00",
  "name": "CTriggerSndSosOpvar::SndSosTriggerOpvarWaitOver",
  "confidence": "high",
  "rationale": "Concatenated Class+Method string 'CTriggerSndSosOpvar'+'SndSosTriggerOpvarWaitOver', empty callees = think function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeffdc0",
  "name": "CTriggerSoundscape::PlayerUpdateThink",
  "confidence": "high",
  "rationale": "think-context string 'CTriggerSoundscapePlayerUpdateThink' = Class+Method",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aba470",
  "name": "CVoiceGameMgr::ClientCommand",
  "confidence": "high",
  "rationale": "'CVoiceGameMgr::ClientCommand: VModEnable/vban/cmd %s from invalid client' names it",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x109df40",
  "name": "CWaterBullet::BulletThink",
  "confidence": "high",
  "rationale": "Concatenated Class+Method 'CWaterBullet'+'BulletThink', empty callees = think function",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x229e300",
  "name": "CWorkThreadPool::StartWorkThread",
  "confidence": "high",
  "rationale": "literal 'CWorkThreadPool::StartWorkThread: Thread creation failed.'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2226de0",
  "name": "CalcBlocks_IntercellConnections",
  "confidence": "high",
  "rationale": "String literally 'CalcBlocks_IntercellConnections %d/%d'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2226150",
  "name": "CalcBlocks_IntracellConnections",
  "confidence": "high",
  "rationale": "String literally 'CalcBlocks_IntracellConnections v1 %d/%d'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21b8dc0",
  "name": "ClipPolysToHullClearanceInternal",
  "confidence": "high",
  "rationale": "Warning literally 'ClipPolysToHullClearanceInternal - too many non-reducing passes'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21b80e0",
  "name": "ClipPolysToHullClearanceInternalProcessList",
  "confidence": "high",
  "rationale": "string '>>NAVGEN: ClipPolysToHullClearanceInternalProcessList: ...' names it repeatedly",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13c60d0",
  "name": "CommandMapGroup",
  "confidence": "high",
  "rationale": "'CommandMapGroup: No mapgroup specified'/'Setting mapgroup'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d14be0",
  "name": "ConnectGameInterfaces",
  "confidence": "high",
  "rationale": "'APPSYSTEM: In ConnectGameInterfaces(), s_nRegistrationCount is %d!' + game interface version strings",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15d0210",
  "name": "CreateControllerToGraphBindings",
  "confidence": "high",
  "rationale": "string 'CreateControllerToGraphBindings' names the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1961980",
  "name": "CreatePhysicsBallSocketConstraint",
  "confidence": "high",
  "rationale": "'CreatePhysicsBallSocketConstraint' + enable_swing/twist_limit",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19605e0",
  "name": "CreatePhysicsConstraint",
  "confidence": "high",
  "rationale": "'CreatePhysicsConstraint' + enable{angular,linear}constraint",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1962da0",
  "name": "CreatePhysicsHingeConstraint",
  "confidence": "high",
  "rationale": "'CreatePhysicsHingeConstraint' + hingeaxis/hingefriction",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19ff290",
  "name": "CreatePhysicsProxy",
  "confidence": "high",
  "rationale": "'CreatePhysicsProxy' + '%s_%s_physics_proxy' + func_physbox",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x212cd40",
  "name": "DataDesc_BuildComponentUnserializers",
  "confidence": "high",
  "rationale": "String literally 'DataDesc_BuildComponentUnserializers'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x20f9640",
  "name": "DataDesc_UnserializeKey",
  "confidence": "high",
  "rationale": "String 'DataDesc_UnserializeKey' + 'Bad key for entity ... field' messages.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf14790",
  "name": "DoEntFireByInstanceHandle",
  "confidence": "high",
  "rationale": "error string \"VScript error: DoEntFireByInstanceHandle was passed an invalid entity instance.\".",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x168a600",
  "name": "EndRestoreEntities",
  "confidence": "high",
  "rationale": "log string literally '%s:  EndRestoreEntities( %s%s )' with ' [adj]' adjacency marker",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbac720",
  "name": "FX_FireBullets",
  "confidence": "high",
  "rationale": "self-named 'FX_FireBullets: ...' + 'FireBullets @ %10f' inaccuracy/spread log",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bf4f90",
  "name": "FindConnectedBoundaryEdgesWithinCircle",
  "confidence": "high",
  "rationale": "String literally names FindConnectedBoundaryEdgesWithinCircle.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bf47e0",
  "name": "FindConnectedBoundaryEdgesWithinSphere",
  "confidence": "high",
  "rationale": "String literally names FindConnectedBoundaryEdgesWithinSphere.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x228f680",
  "name": "GCSDK::CJobMgr::BFrameFuncCheckForJobTimeouts",
  "confidence": "high",
  "rationale": "string 'CJobMgr::BFrameFuncCheckForJobTimeouts' in jobmgr.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2288b80",
  "name": "GCSDK::CJobMgr::BFrameFuncResumeSleepingJobs",
  "confidence": "high",
  "rationale": "string 'CJobMgr::BFrameFuncResumeSleepingJobs' in jobmgr.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x22886e0",
  "name": "GCSDK::CJobMgr::BFrameFuncResumeYieldingJobs",
  "confidence": "high",
  "rationale": "string 'CJobMgr::BFrameFuncResumeYieldingJobs' in jobmgr.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2293740",
  "name": "GCSDK::CJobMgr::BRouteMsgToJob",
  "confidence": "high",
  "rationale": "literal 'CJobMgr::BRouteMsgToJob()' strings, jobmgr.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2293300",
  "name": "GCSDK::CJobMgr::BRouteWorkItemCompleted",
  "confidence": "high",
  "rationale": "string 'BRouteWorkItemCompleted called for a job that could not be found!' names the method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2289290",
  "name": "GCSDK::CJobMgr::TimeoutJob",
  "confidence": "high",
  "rationale": "literal 'CJobMgr::TimeoutJob' + 'Resuming job... due to timeout', jobmgr.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2296b70",
  "name": "GCSDK::CProtoBufMsg::BAsyncSendProto",
  "confidence": "high",
  "rationale": "string 'CProtoBufMsg::BAsyncSendProto' in msgprotobuf.cpp",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2282900",
  "name": "GCSDK::CProtoBufMsg::CProtoBufMsg",
  "confidence": "high",
  "rationale": "string 'CProtoBufMsg::CProtoBufMsg( MsgType_t )' in msgprotobuf.h = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2296310",
  "name": "GCSDK::CProtoBufMsg::InitFromPacket",
  "confidence": "high",
  "rationale": "string 'CProtoBufMsg::InitFromPacket( IMsgNetPacket )' in msgprotobuf.cpp",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x229e640",
  "name": "GCSDK::CWorkThreadPool::AddWorkItem",
  "confidence": "high",
  "rationale": "strings 'AddWorkItem' + 'SetEvent()' in workthreadpool.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d30980",
  "name": "GetBoneIndexForHitboxForMesh",
  "confidence": "high",
  "rationale": "string literally names the function: 'GetBoneIndexForHitboxForMesh'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2126210",
  "name": "GetDesignerNameForScriptClass",
  "confidence": "high",
  "rationale": "string literally 'GetDesignerNameForScriptClass'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2117d80",
  "name": "GetNativeClassForScriptClass",
  "confidence": "high",
  "rationale": "References + recurses; string literally 'GetNativeClassForScriptClass'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16a4410",
  "name": "GetPlayerLimits",
  "confidence": "high",
  "rationale": "'GetPlayerLimits:  ...' assertion strings name the function.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d3e1d0",
  "name": "GetSequenceActivityName",
  "confidence": "high",
  "rationale": "assert string 'Bad sequence in GetSequenceActivityName() for model' names the function",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x144c640",
  "name": "GetWeaponAttackTime",
  "confidence": "high",
  "rationale": "strings literally 'sv: GetWeaponAttackTime - null player/cmd/controller' and player/tick debug format",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xee7b20",
  "name": "IGameSystem::InitAllSystems",
  "confidence": "high",
  "rationale": "'InitAllSystems' + 'IGameSystem::Init( %-80s )' + 'defined twice!'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0xed5bc0",
  "name": "IGameSystem::LoopActivateAllSystems",
  "confidence": "high",
  "rationale": "strings 'IGameSystem::LoopActivateAllSystems {' / '} ... done' and EventGameActivate_t",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeccd40",
  "name": "IGameSystem::LoopDeactivateAllSystems",
  "confidence": "high",
  "rationale": "strings 'IGameSystem::LoopDeactivateAllSystems {' / '} ... done' and EventGameDeactivate_t",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeee900",
  "name": "IGameSystem::LoopInitAllSystems",
  "confidence": "high",
  "rationale": "References 'IGameSystem::LoopInitAllSystems(start/finish)' profiling labels.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0xecc9b0",
  "name": "IGameSystem::LoopPostInitAllSystems",
  "confidence": "high",
  "rationale": "References 'IGameSystem::LoopPostInitAllSystems(start/finish)' profiling labels.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1008050",
  "name": "IKV3TransferInterface_EHandle_Save",
  "confidence": "high",
  "rationale": "string literally is the function name IKV3TransferInterface_EHandle_Save",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa84d20",
  "name": "IKV3TransferInterface_ResourceLoad",
  "confidence": "high",
  "rationale": "string literally 'IKV3TransferInterface_ResourceLoad'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18e0030",
  "name": "InitGameRules",
  "confidence": "high",
  "rationale": "error strings 'InitGameRules: game rules entity (%s) not created' / 'missing gamerules class' name the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a4f6f0",
  "name": "InstancedAutoGeneratedSequenceScene",
  "confidence": "high",
  "rationale": "'InstancedAutoGeneratedSequenceScene: Expecting non-NULL pActor' + instanced_scripted_scene",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a524f0",
  "name": "InstancedAutoGeneratedSoundScene",
  "confidence": "high",
  "rationale": "'InstancedAutoGeneratedSoundScene: Expecting non-NULL pActor' + sound_for_scene",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xba2390",
  "name": "LaunchWorkshopMap",
  "confidence": "high",
  "rationale": "'LaunchWorkshopMap: Can't find map idx %d in addon %llu' plus changelevel/map_workshop/customgamemode",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bd9950",
  "name": "NavNearest::GetNearestNavArea",
  "confidence": "high",
  "rationale": "String literally names NavNearest::GetNearestNavArea.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1befb00",
  "name": "NavSpacePathfind_Npc::SpacePathfind_Core",
  "confidence": "high",
  "rationale": "literal 'NavSpacePathfind_Npc::SpacePathfind_Core' + SpacePathfind failed/partial",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1643720",
  "name": "OnOwnerTakeDamage_React_TryForceDamageApply",
  "confidence": "high",
  "rationale": "string literally names the function; log 'Force damage not requested.'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1991600",
  "name": "PhysDisableEntityCollisions",
  "confidence": "high",
  "rationale": "error PhysDisableEntityCollisions called on entities in two different scene worlds",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1991770",
  "name": "PhysEnableEntityCollisions",
  "confidence": "high",
  "rationale": "error PhysEnableEntityCollisions called on entities in two different scene worlds",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19918e0",
  "name": "PhysEntityCollisionsAreDisabled",
  "confidence": "high",
  "rationale": "error PhysEntityCollisionsAreDisabled called on entities in two different scene worlds",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x203df10",
  "name": "PulseAPIConvertArgumentsForCall",
  "confidence": "high",
  "rationale": "string 'PulseAPIConvertArgumentsForCall: Binding %s Inparam %s' names the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xae31f0",
  "name": "ReservePlayerController",
  "confidence": "high",
  "rationale": "strings literally 'ReservePlayerController reserving slot...' name the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x169eb60",
  "name": "SaveGame_SetLastSaveFile",
  "confidence": "high",
  "rationale": "log string literally names the function 'SaveGame_SetLastSaveFile (changing from ... to ...)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xec9de0",
  "name": "ScriptVmKeyValueFromVariant",
  "confidence": "high",
  "rationale": "References literal 'ScriptVmKeyValueFromVariant failed to unpack parameter variant type %d'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1f64c30",
  "name": "SetAnimClipByName",
  "confidence": "high",
  "rationale": "string literally 'SetAnimClipByName' + CResourceNameTyped::ResolveResourceName",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17852f0",
  "name": "SharedRandomFloat",
  "confidence": "high",
  "rationale": "references 'SharedRandomFloat' with server trace format; int=2 float=2 matches signature",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1be3600",
  "name": "SpacePathfind_StringPull_FindLastVisiblePortal",
  "confidence": "high",
  "rationale": "String literally names SpacePathfind_StringPull_FindLastVisiblePortal.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1908000",
  "name": "SpawnGroupUnloadingThink",
  "confidence": "high",
  "rationale": "'SpawnGroupUnloadingThink(%s)','UNLOAD START/FINISH %s' name it",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17d0190",
  "name": "SpeakDispatchResponse",
  "confidence": "high",
  "rationale": "Log string literally begins 'SpeakDispatchResponse: %s (%d) already speaking...'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x218e680",
  "name": "TestBoxHullForClipDir",
  "confidence": "high",
  "rationale": "Assert string literally 'TestBoxHullForClipDir - polyBack is empty'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ba8bc0",
  "name": "TestRaysToBoundaryZone",
  "confidence": "high",
  "rationale": "string literally names function 'TestRaysToBoundaryZone - pass raw...'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a8d920",
  "name": "Test_RandomPlayerPosition",
  "confidence": "high",
  "rationale": "'Test_RandomPlayerPosition: no local player entity.' names the test concommand function",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16438b0",
  "name": "TryCreateBreakPieces",
  "confidence": "high",
  "rationale": "String 'OnOwnerTakeDamage_React_TryCreateBreakPieces' + 'Generating breakpieces named %s'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12db8c0",
  "name": "TrySetupSolverData",
  "confidence": "high",
  "rationale": "String literal 'TrySetupSolverData' names the method; assert 'pPose != nullptr' confirms IK/solver setup",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a68cd0",
  "name": "UpdateQueryCache",
  "confidence": "high",
  "rationale": "strings '../../game/shared/querycache.cpp' + 'UpdateQueryCache'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2304b60",
  "name": "__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::underflow",
  "confidence": "high",
  "rationale": "class + slot9 + 'basic_filebuf::underflow error reading the file' strings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x23061ee",
  "name": "__gnu_cxx::stdio_filebuf<char>::xsgetn",
  "confidence": "high",
  "rationale": "slot8, 'basic_filebuf::xsgetn error reading the file'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2309d68",
  "name": "__gnu_cxx::stdio_filebuf<wchar_t, std::char_traits<wchar_t> >::underflow",
  "confidence": "high",
  "rationale": "wchar_t stdio_filebuf slot9 with 'basic_filebuf::underflow' strings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x230b442",
  "name": "__gnu_cxx::stdio_filebuf<wchar_t>::xsgetn",
  "confidence": "high",
  "rationale": "slot8, 'basic_filebuf::xsgetn error reading the file'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x226c580",
  "name": "addEdge",
  "confidence": "high",
  "rationale": "String 'addEdge: Too many edges (%d/%d).' = Recast buildPolyMesh addEdge helper.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c933e4",
  "name": "google::protobuf::CalculateBase64EscapedLen",
  "confidence": "high",
  "rationale": "literal demangled name in strings",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce73b0",
  "name": "google::protobuf::MapKey::GetBoolValue",
  "confidence": "high",
  "rationale": "literal 'MapKey::GetBoolValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce71ae",
  "name": "google::protobuf::MapKey::GetInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapKey::GetInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce6faa",
  "name": "google::protobuf::MapKey::GetInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapKey::GetInt64Value' + map usage error",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce72ae",
  "name": "google::protobuf::MapKey::GetUInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapKey::GetUInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce70ac",
  "name": "google::protobuf::MapKey::GetUInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapKey::GetUInt64Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce80dc",
  "name": "google::protobuf::MapValueConstRef::GetBoolValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetBoolValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7fdc",
  "name": "google::protobuf::MapValueConstRef::GetDoubleValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetDoubleValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce82d6",
  "name": "google::protobuf::MapValueConstRef::GetEnumValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetEnumValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7edc",
  "name": "google::protobuf::MapValueConstRef::GetFloatValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetFloatValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7ae6",
  "name": "google::protobuf::MapValueConstRef::GetInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7be2",
  "name": "google::protobuf::MapValueConstRef::GetInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetInt64Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce83d4",
  "name": "google::protobuf::MapValueConstRef::GetMessageValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetMessageValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce81da",
  "name": "google::protobuf::MapValueConstRef::GetStringValue",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetStringValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7ce0",
  "name": "google::protobuf::MapValueConstRef::GetUInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetUInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce7dde",
  "name": "google::protobuf::MapValueConstRef::GetUInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapValueConstRef::GetUInt64Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdff36",
  "name": "google::protobuf::MapValueRef::MutableMessageValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::MutableMessageValue' + map usage error",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce88de",
  "name": "google::protobuf::MapValueRef::SetBoolValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetBoolValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce8cf8",
  "name": "google::protobuf::MapValueRef::SetDoubleValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetDoubleValue' (int=1 float=1)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce89e2",
  "name": "google::protobuf::MapValueRef::SetEnumValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetEnumValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce8bee",
  "name": "google::protobuf::MapValueRef::SetFloatValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetFloatValue' (int=1 float=1)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce86d8",
  "name": "google::protobuf::MapValueRef::SetInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce84d0",
  "name": "google::protobuf::MapValueRef::SetInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetInt64Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce8ae6",
  "name": "google::protobuf::MapValueRef::SetStringValue",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetStringValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce87da",
  "name": "google::protobuf::MapValueRef::SetUInt32Value",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetUInt32Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce85d4",
  "name": "google::protobuf::MapValueRef::SetUInt64Value",
  "confidence": "high",
  "rationale": "literal 'MapValueRef::SetUInt64Value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9a6c",
  "name": "google::protobuf::Reflection::AddBool",
  "confidence": "high",
  "rationale": "literal 'AddBool'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9890",
  "name": "google::protobuf::Reflection::AddDouble",
  "confidence": "high",
  "rationale": "literal 'AddDouble' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdb0bc",
  "name": "google::protobuf::Reflection::AddEnum",
  "confidence": "high",
  "rationale": "literal 'AddEnum'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd96a8",
  "name": "google::protobuf::Reflection::AddFloat",
  "confidence": "high",
  "rationale": "literal 'AddFloat' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd8f42",
  "name": "google::protobuf::Reflection::AddInt32",
  "confidence": "high",
  "rationale": "literal 'AddInt32' + Reflection usage-check strings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9118",
  "name": "google::protobuf::Reflection::AddInt64",
  "confidence": "high",
  "rationale": "literal 'AddInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdad6c",
  "name": "google::protobuf::Reflection::AddMessage",
  "confidence": "high",
  "rationale": "literal 'AddMessage'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9c8a",
  "name": "google::protobuf::Reflection::AddString",
  "confidence": "high",
  "rationale": "literal 'AddString'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd92ee",
  "name": "google::protobuf::Reflection::AddUInt32",
  "confidence": "high",
  "rationale": "literal 'AddUInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd94c6",
  "name": "google::protobuf::Reflection::AddUInt64",
  "confidence": "high",
  "rationale": "literal 'AddUInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdbf26",
  "name": "google::protobuf::Reflection::GetBool",
  "confidence": "high",
  "rationale": "literal 'GetBool'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdb668",
  "name": "google::protobuf::Reflection::GetDouble",
  "confidence": "high",
  "rationale": "literal 'GetDouble'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdbd2e",
  "name": "google::protobuf::Reflection::GetEnumValue",
  "confidence": "high",
  "rationale": "literal 'GetEnumValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdb75c",
  "name": "google::protobuf::Reflection::GetFloat",
  "confidence": "high",
  "rationale": "literal 'GetFloat'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdbe42",
  "name": "google::protobuf::Reflection::GetInt32",
  "confidence": "high",
  "rationale": "literal 'GetInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdbc48",
  "name": "google::protobuf::Reflection::GetInt64",
  "confidence": "high",
  "rationale": "literal 'GetInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc00c",
  "name": "google::protobuf::Reflection::GetMessage",
  "confidence": "high",
  "rationale": "literal 'GetMessage'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc54a",
  "name": "google::protobuf::Reflection::GetRepeatedBool",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedBool'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc6e4",
  "name": "google::protobuf::Reflection::GetRepeatedDouble",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedDouble'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cde87e",
  "name": "google::protobuf::Reflection::GetRepeatedEnumValue",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedEnumValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc616",
  "name": "google::protobuf::Reflection::GetRepeatedFloat",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedFloat'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdce12",
  "name": "google::protobuf::Reflection::GetRepeatedInt32",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc94a",
  "name": "google::protobuf::Reflection::GetRepeatedInt64",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc29a",
  "name": "google::protobuf::Reflection::GetRepeatedMessage",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedMessage'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc474",
  "name": "google::protobuf::Reflection::GetRepeatedString",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedString'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cde7b6",
  "name": "google::protobuf::Reflection::GetRepeatedStringReference",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedStringReference'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc87e",
  "name": "google::protobuf::Reflection::GetRepeatedUInt32",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedUInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc7b2",
  "name": "google::protobuf::Reflection::GetRepeatedUInt64",
  "confidence": "high",
  "rationale": "literal 'GetRepeatedUInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdb962",
  "name": "google::protobuf::Reflection::GetString",
  "confidence": "high",
  "rationale": "literal 'GetString'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdb850",
  "name": "google::protobuf::Reflection::GetStringReference",
  "confidence": "high",
  "rationale": "literal 'GetStringReference'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdbb64",
  "name": "google::protobuf::Reflection::GetUInt32",
  "confidence": "high",
  "rationale": "literal 'GetUInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdba7e",
  "name": "google::protobuf::Reflection::GetUInt64",
  "confidence": "high",
  "rationale": "literal 'GetUInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce1226",
  "name": "google::protobuf::Reflection::HasBit",
  "confidence": "high",
  "rationale": "'Reached impossible case in HasBit().' in generated_message_reflection.cc",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc21a",
  "name": "google::protobuf::Reflection::LookupMapValue",
  "confidence": "high",
  "rationale": "string 'LookupMapValue' + 'Field is not a map field.' names the reflection method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc19a",
  "name": "google::protobuf::Reflection::MapBegin",
  "confidence": "high",
  "rationale": "string 'MapBegin' + 'Field is not a map field.' names the reflection map iterator method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdc11a",
  "name": "google::protobuf::Reflection::MapEnd",
  "confidence": "high",
  "rationale": "string 'MapEnd' + 'Field is not a map field.' names the reflection map iterator method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdac82",
  "name": "google::protobuf::Reflection::MutableRepeatedMessage",
  "confidence": "high",
  "rationale": "literal 'MutableRepeatedMessage'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cda538",
  "name": "google::protobuf::Reflection::ReleaseMessage",
  "confidence": "high",
  "rationale": "literal 'ReleaseMessage'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cddaf8",
  "name": "google::protobuf::Reflection::SetBool",
  "confidence": "high",
  "rationale": "literal 'SetBool'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdda0c",
  "name": "google::protobuf::Reflection::SetDouble",
  "confidence": "high",
  "rationale": "literal 'SetDouble' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd58e",
  "name": "google::protobuf::Reflection::SetEnumValue",
  "confidence": "high",
  "rationale": "literal 'SetEnumValue'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd91e",
  "name": "google::protobuf::Reflection::SetFloat",
  "confidence": "high",
  "rationale": "literal 'SetFloat' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd3e6",
  "name": "google::protobuf::Reflection::SetInt32",
  "confidence": "high",
  "rationale": "literal 'SetInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd66c",
  "name": "google::protobuf::Reflection::SetInt64",
  "confidence": "high",
  "rationale": "literal 'SetInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9996",
  "name": "google::protobuf::Reflection::SetRepeatedBool",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedBool'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd97b0",
  "name": "google::protobuf::Reflection::SetRepeatedDouble",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedDouble' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd95c8",
  "name": "google::protobuf::Reflection::SetRepeatedFloat",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedFloat' + float arg",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd8e6e",
  "name": "google::protobuf::Reflection::SetRepeatedInt32",
  "confidence": "high",
  "rationale": "literal method-name string 'SetRepeatedInt32' + Reflection usage-check strings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9044",
  "name": "google::protobuf::Reflection::SetRepeatedInt64",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9b70",
  "name": "google::protobuf::Reflection::SetRepeatedString",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedString'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd921a",
  "name": "google::protobuf::Reflection::SetRepeatedUInt32",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedUInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd93f2",
  "name": "google::protobuf::Reflection::SetRepeatedUInt64",
  "confidence": "high",
  "rationale": "literal 'SetRepeatedUInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd752",
  "name": "google::protobuf::Reflection::SetUInt32",
  "confidence": "high",
  "rationale": "literal 'SetUInt32'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd838",
  "name": "google::protobuf::Reflection::SetUInt64",
  "confidence": "high",
  "rationale": "literal 'SetUInt64'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cfa564",
  "name": "google::protobuf::UnknownField::group",
  "confidence": "high",
  "rationale": "__PRETTY literally 'UnknownField::group() const' + type()==TYPE_GROUP; 745 callers",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c74402",
  "name": "google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap",
  "confidence": "high",
  "rationale": "literal demangled name in strings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8385c",
  "name": "google::protobuf::io::ArrayInputStream::BackUp",
  "confidence": "high",
  "rationale": "slot3 'BackUp() can only be called after a successful Next()'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83a4a",
  "name": "google::protobuf::io::ArrayOutputStream::BackUp",
  "confidence": "high",
  "rationale": "class ArrayOutputStream slot 3; 'BackUp() can not exceed the size of the last Next() call'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83df2",
  "name": "google::protobuf::io::CopyingInputStreamAdaptor::BackUp",
  "confidence": "high",
  "rationale": "'BackUp() can only be called after Next()' + zero_copy_stream_impl_lite.cc, slot 3.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce4e2a",
  "name": "google::protobuf::io::Tokenizer::ParseFloat",
  "confidence": "high",
  "rationale": "string ' Tokenizer::ParseFloat() passed text that could not have been tokenized as a float' + tokenizer.cc, float=1",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d10a70",
  "name": "int_err_get",
  "confidence": "high",
  "rationale": "literal 'int_err_get (err.c)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d109c0",
  "name": "int_thread_get",
  "confidence": "high",
  "rationale": "literal 'int_thread_get (err.c)'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2274dc0",
  "name": "mergeAndFilterRegions",
  "confidence": "high",
  "rationale": "String 'mergeAndFilterRegions: Out of memory regions (%d).'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x225f340",
  "name": "rcBuildCompactHeightfield",
  "confidence": "high",
  "rationale": "literal Recast 'rcBuildCompactHeightfield: ...' out-of-memory messages",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2262c40",
  "name": "rcBuildContours",
  "confidence": "high",
  "rationale": "'rcBuildContours: Out of memory','Bad outline for region %d' name the Recast function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2273a40",
  "name": "rcBuildDistanceField",
  "confidence": "high",
  "rationale": "strings 'rcBuildDistanceField: Out of memory dst/src'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2279340",
  "name": "rcBuildLayerRegions",
  "confidence": "high",
  "rationale": "strings 'rcBuildLayerRegions: Out of memory' + mergeAndFilterLayerRegions (Recast)",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2269080",
  "name": "rcBuildPolyMesh",
  "confidence": "high",
  "rationale": "'rcBuildPolyMesh: Adjacency failed','Out of memory mesh.polys' name the Recast function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x226cf80",
  "name": "rcBuildPolyMeshDetail",
  "confidence": "high",
  "rationale": "'rcBuildPolyMeshDetail: Out of memory dmesh.tris/verts' name the Recast function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2277260",
  "name": "rcBuildRegions",
  "confidence": "high",
  "rationale": "strings 'rcBuildRegions: %d overlapping regions'/'Out of memory tmp'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x22788c0",
  "name": "rcBuildRegionsMonotone",
  "confidence": "high",
  "rationale": "strings 'rcBuildRegionsMonotone: Out of memory src/sweeps'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2273020",
  "name": "rcRasterizeTriangles",
  "confidence": "high",
  "rationale": "String 'rcRasterizeTriangles: Out of memory.'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbedd70",
  "name": "BotChatterInterface::KilledMyEnemy",
  "confidence": "medium",
  "rationale": "chatter slot 3 phrase 'KilledMyEnemy'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd3cac0",
  "name": "BreakCreateParticle",
  "confidence": "medium",
  "rationale": "self-named 'BreakCreateParticle' + 'Spawning particle effect %s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xcb99c0",
  "name": "CAI_Expresser::CAI_Expresser",
  "confidence": "medium",
  "rationale": "String 'CAI_Expresser' + construction helper sub_0x17d1500 = expresser ctor/factory",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a5b420",
  "name": "CAI_ScriptedSequence::DelayStart",
  "confidence": "medium",
  "rationale": "'DelayStart( %d )','STARTING SEQUENCE for %s','m_nNotReadySequenceCount'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xef7700",
  "name": "CAnimGraphGameSystem::AnimTickUpdate",
  "confidence": "medium",
  "rationale": "animgraph_gamesystem.cpp with 'AnimGraph Server/Client Tick', AnimTickUpdate, PreUpdateAnimGraphAnimations",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xcf5e00",
  "name": "CBarnLight::SetStyle",
  "confidence": "medium",
  "rationale": "References 'SetStyle' and CNetworkTransmitComponent::StateChanged; networked style setter.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15f3e80",
  "name": "CBaseAnimGraphController::SetSequence",
  "confidence": "medium",
  "rationale": "'... SetSequence(%s) seq %d=[%s]' + preserve_cycle strings; class = m_animationController netvar type.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16d98c0",
  "name": "CBaseEntity::PerformInvalidatePhysicsRecursive",
  "confidence": "medium",
  "rationale": "Distinctive string 'PerformInvalidatePhysicsRecursive'; 16 callers, self-recursive.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18650c0",
  "name": "CBaseEntity::SetMass",
  "confidence": "medium",
  "rationale": "error Tried to call SetMass() on %s but it has no physics",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b49c0",
  "name": "CBaseGameStats_Driver::Event_Shutdown",
  "confidence": "medium",
  "rationale": "Driver slot 2 printing 'CBaseGameStats::Event_Shutdown [%dth session]'.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1313210",
  "name": "CBaseGrenade::Explode",
  "confidence": "medium",
  "rationale": "Plays Grenade.Explode sound and triggers network StateChanged",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfecc40",
  "name": "CBaseProp::CBaseProp",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1f0c5f0",
  "name": "CBaseRecognizer::mismatch",
  "confidence": "medium",
  "rationale": "'Base recognizer function 'mismatch' called by unknown parser type' + Mismatched/Missing token",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfedc20",
  "name": "CBaseToggle::CBaseToggle",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16060a0",
  "name": "CBodyComponentBaseAnimGraph::FrameAdvance",
  "confidence": "medium",
  "rationale": "class slot37 'FrameAdvance : %d=[%s] : %f -> %f rate %f (finished: %s)'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15f34f0",
  "name": "CBodyComponentBaseAnimGraph::SetPlaybackRate",
  "confidence": "medium",
  "rationale": "class slot32 'SetPlaybackRate old(...) -> quant','tried to quantize an out-of-range value'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17a9070",
  "name": "CBodyComponentSkeletonInstance::PostDataUpdate",
  "confidence": "medium",
  "rationale": "assert DATA_UPDATE_TYPE_CREATED + fn name 'PostDataUpdate'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc170e0",
  "name": "CBotAgent::Crouch",
  "confidence": "medium",
  "rationale": "refs '[ AI BT ]: ... Crouching is not supported by this agent.'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc173e0",
  "name": "CBotAgent::Inventory",
  "confidence": "medium",
  "rationale": "refs '[ AI BT ]: ... Inventory is not supported by this agent.'; 14 callers",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc17260",
  "name": "CBotAgent::Reload",
  "confidence": "medium",
  "rationale": "refs '[ AI BT ]: ... Reloading is not supported by this agent.'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc1d340",
  "name": "CBtTree::Update",
  "confidence": "medium",
  "rationale": "CBtTree::Eval/Execute/Update profile scopes + Audible/Damage/GrenadeEvents",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1528f8a",
  "name": "CCS2PawnGraphController::CreateAndBindController",
  "confidence": "medium",
  "rationale": "string literally 'CreateAndBindController' + GetControllerInternal assert",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbecff0",
  "name": "CCSBot::GuardHostageEscapeZone",
  "confidence": "medium",
  "rationale": "task-name strings 'GoingToGuardHostageEscapeZone'/'GuardingHostageEscapeZone' identify this behavior",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbecf10",
  "name": "CCSBot::GuardHostages",
  "confidence": "medium",
  "rationale": "task-name strings 'GoingToGuardHostages'/'GuardingHostages' identify the guard-hostages behavior",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc0c080",
  "name": "CCSBot::Retreat",
  "confidence": "medium",
  "rationale": "refs 'Retreating to a safe spot!'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbea8e0",
  "name": "CCSBot::SendRadioMessage",
  "confidence": "medium",
  "rationale": "refs '%3.1f: SendRadioMessage( %s )'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc09420",
  "name": "CCSBot::SetState",
  "confidence": "medium",
  "rationale": "logs '%s: SetState: %s -> %s' with 'ATTACK END' state exit",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbecb20",
  "name": "CCSBotChatter::Affirmative",
  "confidence": "medium",
  "rationale": "refs chatter tag 'Affirmative'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbeb7e0",
  "name": "CCSBotChatter::BarelyDefused",
  "confidence": "medium",
  "rationale": "refs chatter tag 'BarelyDefused'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbeea10",
  "name": "CCSBotChatter::BombsiteClear",
  "confidence": "medium",
  "rationale": "refs chatter tag 'BombsiteClear'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbece60",
  "name": "CCSBotChatter::GoingToDefendBombsite",
  "confidence": "medium",
  "rationale": "refs chatter tag 'GoingToDefendBombsite'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbed0d0",
  "name": "CCSBotChatter::GoingToPlantBomb",
  "confidence": "medium",
  "rationale": "refs chatter tag 'GoingToPlantBomb'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbf5030",
  "name": "CCSBotChatter::HeardNoise",
  "confidence": "medium",
  "rationale": "refs chatter tag 'HeardNoise'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbec9d0",
  "name": "CCSBotChatter::HostagesBeingTaken",
  "confidence": "medium",
  "rationale": "refs chatter tag 'HostagesBeingTaken'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbeec10",
  "name": "CCSBotChatter::HostagesTaken",
  "confidence": "medium",
  "rationale": "refs chatter tag 'HostagesTaken'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbebaa0",
  "name": "CCSBotChatter::KilledFriend",
  "confidence": "medium",
  "rationale": "refs chatter tag 'KilledFriend'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbedef0",
  "name": "CCSBotChatter::Negative",
  "confidence": "medium",
  "rationale": "refs chatter tag 'Negative'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc09d70",
  "name": "CCSBotChatter::OnMyWay",
  "confidence": "medium",
  "rationale": "refs chatter tag 'OnMyWay'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbedb50",
  "name": "CCSBotChatter::PinnedDown",
  "confidence": "medium",
  "rationale": "refs chatter tag 'PinnedDown'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbee030",
  "name": "CCSBotChatter::PlantingBomb",
  "confidence": "medium",
  "rationale": "refs chatter tag 'PlantingBomb'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbed870",
  "name": "CCSBotChatter::RequestReport",
  "confidence": "medium",
  "rationale": "refs chatter tag 'RequestReport'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbed430",
  "name": "CCSBotChatter::ScaredEmote",
  "confidence": "medium",
  "rationale": "refs chatter tag 'ScaredEmote'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbeda10",
  "name": "CCSBotChatter::SniperWarning",
  "confidence": "medium",
  "rationale": "refs chatter tag 'SniperWarning'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbf9280",
  "name": "CCSBotChatter::SpottedLooseBomb",
  "confidence": "medium",
  "rationale": "refs chatter tag 'SpottedLooseBomb'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbee8b0",
  "name": "CCSBotChatter::WhereIsTheBomb",
  "confidence": "medium",
  "rationale": "refs chatter tag 'WhereIsTheBomb'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13e25b0",
  "name": "CCSGO_EndOfMatchLineupStart",
  "confidence": "medium",
  "rationale": "strings are fragments of CCSGO_EndOfMatchLineupStart",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1397460",
  "name": "CCSGameModeRules_ArmsRace::EndRound",
  "confidence": "medium",
  "rationale": "class+slot5; literal 'GMR_EndRound( %d )'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1314260",
  "name": "CCSGameRules::BeginGameRestart",
  "confidence": "medium",
  "rationale": "Log 'GMR_BeginGameRestart - delay = %.1fs' names the game-restart method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1397230",
  "name": "CCSGameRules::BeginIntermission",
  "confidence": "medium",
  "rationale": "Log tag 'GMR_BeginIntermission' names the intermission-start method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1312e90",
  "name": "CCSGameRules::BeginWarmupPeriod",
  "confidence": "medium",
  "rationale": "Log 'GMR_BeginWarmupPeriod - will last %.1fs' names the warmup-start method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13e27b0",
  "name": "CCSGameRules::EndOfMatchLineupEnd",
  "confidence": "medium",
  "rationale": "References CCSGO_EndOfMatchLineupEnd scene name; self-recursive think-like flow for end-of-match lineup.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x131e3f0",
  "name": "CCSGameRules::ResetMatch",
  "confidence": "medium",
  "rationale": "Log tag 'GMR_ResetMatch' names the game-rules match-reset method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1310aa0",
  "name": "CCSGameRules::ResetRound",
  "confidence": "medium",
  "rationale": "Log tag 'GMR_ResetRound' names the game-rules round-reset method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3570",
  "name": "CCSGameStats::Event_Shutdown",
  "confidence": "medium",
  "rationale": "slot 6 printing 'CBaseGameStats::Event_Shutdown [%dth session]' banner.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3ba0",
  "name": "CCSGameStats::LoadingEvent_PlayerIDDifferentThanLoadedStats",
  "confidence": "medium",
  "rationale": "slot 40 references that event name plus CC_ResetGameStats clear.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ae59f0",
  "name": "CCSInventoryManager::OnLoadoutChanged",
  "confidence": "medium",
  "rationale": "'OnLoadoutChanged' + 'Failed to update networkable loadout' (econ_item_inventory.cpp)",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb4ee30",
  "name": "CCSObserverPawn::SetColor",
  "confidence": "medium",
  "rationale": "'SetColor'+'(color:{r,g,b,a})' script-bound method",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14ccaf0",
  "name": "CCSObserver_CameraServices::CCSObserver_CameraServices",
  "confidence": "medium",
  "rationale": "strings 'CCSObserver_CameraServices'+'raServices'; self-recursive, many callees = constructor/init",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14cd0b0",
  "name": "CCSObserver_UseServices::CCSObserver_UseServices",
  "confidence": "medium",
  "rationale": "string is exactly class name 'CCSObserver_UseServices' (allocation tag)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15268a0",
  "name": "CCSPlayerController::OnPreResetRound",
  "confidence": "medium",
  "rationale": "debug string literally 'OnPreResetRound => CTMDBG, team %d will switch'; team-management pre-reset",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1526060",
  "name": "CCSPlayerController::SwitchTeam",
  "confidence": "medium",
  "rationale": "log 'SwitchTeam => ChangeBasePlayerTeamAndPendingTeam'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0xaed000",
  "name": "CCSPlayerPawn::OnRescueZoneTouch",
  "confidence": "medium",
  "rationale": "literal 'OnRescueZoneTouch' + hostage_rescue_zone hint + AcceptInput",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb0cc90",
  "name": "CCSPlayerPawn::Respawn",
  "confidence": "medium",
  "rationale": "'Player.Respawn' + Invalid Steam Logon kicking + cl_prefer_lefthanded",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14f97f0",
  "name": "CCSPlayer_BuyServices::BuyPreset",
  "confidence": "medium",
  "rationale": "references BuyPreset.AlreadyBought / BuyPreset.CantBuy, calls inner sub_14f93c0; outer preset buy",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x157bb70",
  "name": "CCSPlayer_MovementServices::AddGravity",
  "confidence": "medium",
  "rationale": "string literally 'AddGravity' + network StateChanged log",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x157cce0",
  "name": "CCSPlayer_MovementServices::PreWalkMove",
  "confidence": "medium",
  "rationale": "'PreWalkMove' string + Friction",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x157b750",
  "name": "CCSPlayer_MovementServices::StartGravity",
  "confidence": "medium",
  "rationale": "string literally 'StartGravity' + network StateChanged log",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x159e600",
  "name": "CCSPlayer_WeaponServices::FinishTick",
  "confidence": "medium",
  "rationale": "weaponservices.cpp assert 'FinishTick'/'ShootVerify'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb40d10",
  "name": "CCSPointScriptEntity::FindEntitiesByClass",
  "confidence": "medium",
  "rationale": "'FindEntitiesByClass' + (className: string) param + ForceSpawn/OnPlayerActivate",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb17910",
  "name": "CCSPointScriptEntity::OnScriptReload",
  "confidence": "medium",
  "rationale": "'OnScriptReload:before'/':after' on script entity",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb13550",
  "name": "CCSPointScriptEntity::Think",
  "confidence": "medium",
  "rationale": "slot 157 runs 'Think' script hook",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb42950",
  "name": "CCSScript_EntityScript::FindWeaponBySlot",
  "confidence": "medium",
  "rationale": "slot 25; 'FindWeaponBySlot'+'(slot:number)' script binding",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb13430",
  "name": "CCSScript_EntityScript::OnBeginRoundRestart",
  "confidence": "medium",
  "rationale": "defines/invokes named script hook 'OnBeginRoundRestart'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb42710",
  "name": "CCSScript_EntityScript::OnBulletImpact",
  "confidence": "medium",
  "rationale": "class set slot 21; callback 'OnBulletImpact' with args hitEntity/position/weapon (CSWeaponBase)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14385d0",
  "name": "CCSWeaponBase::OnPlayerPickup",
  "confidence": "medium",
  "rationale": "references OnPlayerPickup / m_OnPlayerPickup entity-output; fires it on pickup",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1452de0",
  "name": "CCSWeaponBase::ToggleCanBePickedUp",
  "confidence": "medium",
  "rationale": "references 'ToggleCanBePickedUp' + CNetworkTransmitComponent::StateChanged \u2014 sets pickup flag + net dirty",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1646cb0",
  "name": "CChicken::AnimThink",
  "confidence": "medium",
  "rationale": "CChicken slot278 with 'AnimThink'/'Think' strings + DispatchDatamapFunction",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc98bf0",
  "name": "CChicken::OnBreak",
  "confidence": "medium",
  "rationale": "CChicken slot 313 references 'OnBreak' + ResolveResourceName",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xca1250",
  "name": "CChicken::Panic",
  "confidence": "medium",
  "rationale": "Sound event string 'Chicken.Panic' emitted (calls EmitSound helper sub_0x1a487e0)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1824800",
  "name": "CColorCorrectionVolume::ColorCorrectionVolumeThink",
  "confidence": "medium",
  "rationale": "think-name string 'CColorCorrectionVolumeThinkFunc'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16730e0",
  "name": "CDebugOverlayGrenades::CreateAndBindController",
  "confidence": "medium",
  "rationale": "String 'CreateAndBindController' plus GetControllerInternal assert = anim-graph controller creation.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x100e030",
  "name": "CDestructiblePartsSystemData::CDestructiblePartsSystemData",
  "confidence": "medium",
  "rationale": "vdata class name + operator-new + sub_0xffdbf0 init; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1824f70",
  "name": "CDynamicLight::DynamicLightThink",
  "confidence": "medium",
  "rationale": "think-name string 'CDynamicLightDynamicLightThink'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16daef0",
  "name": "CEntity2SaveRestore::EntityPatchRead",
  "confidence": "medium",
  "rationale": "'EntityPatchRead( %s ) read %d entries' + AppendSaveGameResources strings (calls into it).",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16de090",
  "name": "CEntity2SaveRestore::OpenSaveFileAndExtractLevels",
  "confidence": "medium",
  "rationale": "'in CEntity2SaveRestore::OpenSaveFileAndExtractLevels' enclosing-context strings, slot 7.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16f7780",
  "name": "CEntity2SaveRestore::StreamEntitiesFromFile",
  "confidence": "medium",
  "rationale": "class slot4 'StreamEntitiesFromFile: %s [%d entities]','save/%s.hl%s'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa69e90",
  "name": "CEntityComponentHelperT<CBodyComponentPoint>::Allocate",
  "confidence": "medium",
  "rationale": "slot 4 with 'Allocate' tag and 'Entity component datadesc mismatch' assert",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa69f80",
  "name": "CEntityComponentHelperT<CBodyComponentSkeletonInstance>::Allocate",
  "confidence": "medium",
  "rationale": "slot 4 with 'Allocate' tag and datadesc-mismatch assert",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2135980",
  "name": "CEntityScriptFramework::DispatchActivate",
  "confidence": "medium",
  "rationale": "'DispatchActivate','Failed to activate script entity %s of type %s'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2136180",
  "name": "CEntityScriptFramework::DispatchInput",
  "confidence": "medium",
  "rationale": "'DispatchInput' plus variant type list",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2135dc0",
  "name": "CEntityScriptFramework::DispatchUpdateOnRemove",
  "confidence": "medium",
  "rationale": "'DispatchUpdateOnRemove','Failed to update on remove script entity'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe89980",
  "name": "CEntitySubclassVDataBase::CEntitySubclassVDataBase",
  "confidence": "medium",
  "rationale": "class/vdata-name string + operator-new + sub_0xe84790 vdata helper; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd78f80",
  "name": "CEnvCombinedLightProbeVolume::CEnvCombinedLightProbeVolume",
  "confidence": "medium",
  "rationale": "LINK_ENTITY string 'CEnvCombinedLightProbeVolumeAlias_func_combined_light_probe_volume' = ctor/factory",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1825660",
  "name": "CEnvEntityMaker::CheckSpawnThink",
  "confidence": "medium",
  "rationale": "think-name string 'CEnvEntityMakerCheckSpawnThink'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1011360",
  "name": "CExplosionTypeData::CExplosionTypeData",
  "confidence": "medium",
  "rationale": "vdata class name + operator-new + sub_0xffdbf0 init; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b557f0",
  "name": "CFieldPath::Path_AddToTail",
  "confidence": "medium",
  "rationale": "'Path_AddToTail failed for read only CFieldPath'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x215ee00",
  "name": "CFieldPath::SetCount",
  "confidence": "medium",
  "rationale": "'Path_SetCount failed, depth already == DEFAULT_MAX_PATH_DEPTH' in fieldpathpacker.cpp",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aa3b40",
  "name": "CFuncPlat::Blocked",
  "confidence": "medium",
  "rationale": "Slot 152 (=Blocked) '%s Blocked by %s'.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16895f0",
  "name": "CGameConfiguration::PreservePlayerNetworkables",
  "confidence": "medium",
  "rationale": "'SV:  PreservePlayerNetworkables(%d)' + 'slot %d is in use' strings name the method; class from slot 22.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x211dfa0",
  "name": "CGameEntitySystem::AllocateEntity",
  "confidence": "medium",
  "rationale": "'AllocateEntityIdentity','DoAllocateEntity failed','Bad entity index' in entitysystem.cpp",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16d2860",
  "name": "CGameEventManager::OnSource1LegacyGameEventListenBitsReceived",
  "confidence": "medium",
  "rationale": "String names 'OnSource1LegacyGameEventListenBitsReceived: game event %i not found.'.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe701e0",
  "name": "CGameRulesProxy::CGameRulesProxy",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x170b980",
  "name": "CGameSystemManager::SetGameSystemState",
  "confidence": "medium",
  "rationale": "debug '%s: SetGameSystemState( %d : %s to %s )'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xccca00",
  "name": "CHostage::CHostage",
  "confidence": "medium",
  "rationale": "LINK_ENTITY string 'CHostageAlias_info_hostage_spawn' = CHostage ctor/factory for info_hostage_spawn",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13aae20",
  "name": "CHostage::Pickup",
  "confidence": "medium",
  "rationale": "'#SFUI_Notice_Hostage_Pickup_Must_Be_On_Ground','Hostage.PickUp'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xcc31c0",
  "name": "CHostageRescueZone::OnRescueZoneTouch",
  "confidence": "medium",
  "rationale": "Output name 'OnRescueZoneTouch' annotated via PulseAPI legacy-binding helper sub_0xd38810",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc9e350",
  "name": "CInferno::FadeOut",
  "confidence": "medium",
  "rationale": "References sound events 'FireworksCrate.Stop' and 'Inferno.FadeOut'; fire fade-out routine.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1adc400",
  "name": "CInventoryManager::BuildCacheSubscribed",
  "confidence": "medium",
  "rationale": "'BuildCacheSubscribed(CEcon*)' SO-cache subscription strings, slot 0.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x106b130",
  "name": "CItemGenericTriggerHelper::CItemGenericTriggerHelper",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xac6530",
  "name": "CItemKevlar::EquipArmor",
  "confidence": "medium",
  "rationale": "class slot307 'Player.EquipArmor_CT','Player.EquipArmor_T' sound events",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1824a20",
  "name": "CItemSodaCan::ItemSodaCanThink",
  "confidence": "medium",
  "rationale": "think-name string 'CItemSodaCanThink'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c53f50",
  "name": "CJob::BYield",
  "confidence": "medium",
  "rationale": "'BYield' string on a job method.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c4b7e0",
  "name": "CJob::DelayedStart",
  "confidence": "medium",
  "rationale": "'DelayedStart' string on a job method.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2292a40",
  "name": "CJobMgr::CJobMgr",
  "confidence": "medium",
  "rationale": "References member string 'CJobMgr::m_WorkThreadPool'; constructor/init.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x168f330",
  "name": "CKV3Interface_LoadGame::ReadTick",
  "confidence": "medium",
  "rationale": "Slot 2, 'ReadTick %d : clamping rebased tick' warning.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c59a20",
  "name": "CKeyValues3Array::EnsureElementCapacity",
  "confidence": "medium",
  "rationale": "'%s: element count overflow (%u)' with literal 'EnsureElementCapacity'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c59b40",
  "name": "CKeyValues3Table::EnsureMemberCapacity",
  "confidence": "medium",
  "rationale": "'%s: member count overflow (%u)' with literal 'EnsureMemberCapacity'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19bc980",
  "name": "CLagCompensationManager::BacktrackPlayer",
  "confidence": "medium",
  "rationale": "'No valid positions in history for BacktrackPlayer entity %d' + BackupPlayer bad-position warnings.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdf78d0",
  "name": "CLightDirectionalEntity::CLightDirectionalEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor callee chain (sub_0x9e6740/60,sub_0xa44d50); constructor signature",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1711bb0",
  "name": "CLoopModeGame::CLoopModeGame",
  "confidence": "medium",
  "rationale": "'%s: CLoopModeGame constructed' + registers 'groups' concommand",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x172ecf0",
  "name": "CLoopModeGame::StaticInit",
  "confidence": "medium",
  "rationale": "'CLoopModeGame::StaticInit-start/finish' markers plus InitAllSystems/StaticInitTempEnts calls.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfeda60",
  "name": "CModelPointEntity::CModelPointEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1781650",
  "name": "CModelState::DoSetupPhysics",
  "confidence": "medium",
  "rationale": "skeletoninstance.cpp + 'CModelState::DoSetupPhysics' / SetupModel diagnostics.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x187d250",
  "name": "CMoverEntitySpawner::SpawnThink",
  "confidence": "medium",
  "rationale": "string fragments ...hMoverEntitySpawner::SpawnThink",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1719550",
  "name": "CMoverPathNode::ParentedMoveThink",
  "confidence": "medium",
  "rationale": "string fragments ...erPathNode::ParentedMoveThink",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcefa0",
  "name": "CMultiLightProxy::RestoreFlashlightThink",
  "confidence": "medium",
  "rationale": "references both think-context name strings CMultiLightProxyApproachBrightnessThink/RestoreFlashlightThink; the restore-think body",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe73810",
  "name": "CMultiplayRules::CMultiplayRules",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b72a90",
  "name": "CNavGameSystem::ActiveSpawnGroupChanged",
  "confidence": "medium",
  "rationale": "self-named 'CNavGameSystem::ActiveSpawnGroupChanged(%s) switching nav mesh'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21e773e",
  "name": "CNavMarkerData::CreateArea",
  "confidence": "medium",
  "rationale": "string 'CreateArea' + 'Max number of Nav Areas limit reached' + m_NavAreas/CNavMarkerData assert",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x220e030",
  "name": "CNavMesh::BuildPath",
  "confidence": "medium",
  "rationale": "A* search 'TOO MANY NODES ADDED','Already in the goal area','Blocked area %d','Max path length exceeded'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21b2420",
  "name": "CNavMesh::IslandRemoval",
  "confidence": "medium",
  "rationale": "strings 'IslandRemoval' + ladder/navlink island errors + WALKABLESEED",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2179d20",
  "name": "CNavMesh::LoadNavMesh",
  "confidence": "medium",
  "rationale": "'LoadNavMesh: %s' and 'LoadNavMesh: bad buffer alignment'; loads nav mesh from buffer",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x220d200",
  "name": "CNavMesh::PathfindGeneric",
  "confidence": "medium",
  "rationale": "'PathfindGeneric - failed' + nav_pathfind_* debug convars",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b77950",
  "name": "CNavMesh::UpdateVolumes",
  "confidence": "medium",
  "rationale": "'UpdateVolumes' string on an int=0 nav method.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ba0660",
  "name": "CNavObstacleSplitMgr::AddOverlaps",
  "confidence": "medium",
  "rationale": "class CNavObstacleSplitMgr slot 17; literal 'AddOverlaps'/'AddMultipleToTail'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ba8300",
  "name": "CNavObstacleSplitMgr::RemoveObstacle",
  "confidence": "medium",
  "rationale": "'RemoveObstacle' scope label + 'Scope exceeded time' perf string",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x222a750",
  "name": "CNavSpaceBuilder::CNavSpaceBuilder",
  "confidence": "medium",
  "rationale": "References own class name 'CNavSpaceBuilder'; constructor/factory pattern.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1da19c0",
  "name": "CNmSampledEvent::GetPercentageThrough",
  "confidence": "medium",
  "rationale": "string literally names method 'GetPercentageThrough' plus 'IsSet()' assert",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a2c90",
  "name": "CPathMover::Pause",
  "confidence": "medium",
  "rationale": "worker string Pause",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a5450",
  "name": "CPathMover::SetDistanceToReachMaxSpeed",
  "confidence": "medium",
  "rationale": "string SetDistanceToReachMaxSpeed [distance time]",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a3310",
  "name": "CPathMover::SetDistanceToReachZeroSpeed",
  "confidence": "medium",
  "rationale": "string SetDistanceToReachZeroSpeed [distance time]",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a4880",
  "name": "CPathMover::SetTimeToReachMaxSpeed",
  "confidence": "medium",
  "rationale": "string SetTimeToReachMaxSpeed [time]",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a2fb0",
  "name": "CPathMover::SetTimeToReachZeroSpeed",
  "confidence": "medium",
  "rationale": "string SetTimeToReachZeroSpeed [time]",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18a2570",
  "name": "CPathMover::Unpause",
  "confidence": "medium",
  "rationale": "worker string Unpause",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1092ef0",
  "name": "CPathQueryUtil::CPathQueryUtil",
  "confidence": "medium",
  "rationale": "Class-name string 'CPathQueryUtil' + ctor callee set = constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf923e0",
  "name": "CPhysicsBodyGameMarkupData::CPhysicsBodyGameMarkupData",
  "confidence": "medium",
  "rationale": "markup-data class name + operator-new/init helper; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1752ac0",
  "name": "CPlayer_ItemServices::CPlayer_ItemServices",
  "confidence": "medium",
  "rationale": "classname 'CPlayer_ItemServices' + entity-services constructor callee pattern",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xde7810",
  "name": "CPointCamera::CPointCamera",
  "confidence": "medium",
  "rationale": "class-name string 'CPointCamera'; entity setup/constructor",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa5e550",
  "name": "CPointClientUIDialog::OnDialogActivatorChanged",
  "confidence": "medium",
  "rationale": "'OnDialogActivatorChanged' + m_hActivator + CNetworkSerializerClassInfo::Get failed",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd2a7c0",
  "name": "CPointEntity::CPointEntity",
  "confidence": "medium",
  "rationale": "strings 'CPointEntity'/'Point entity.' (schema class name+description) with 64 callers; base constructor/factory",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1705a70",
  "name": "CPointGamestatsCounter::CPointGamestatsCounter",
  "confidence": "medium",
  "rationale": "classname 'CPointGamestatsCounter' + entity-factory constructor callee pattern",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12c0b90",
  "name": "CPulseCell_PlaySequence::OnEntityOutputListen",
  "confidence": "medium",
  "rationale": "string 'OnEntityOutputListen( %s, %s )' + AE_PULSE_GRAPH on play-sequence cell",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19f7430",
  "name": "CPulseGraphInstance::GetEntityBelowEntity",
  "confidence": "medium",
  "rationale": "'GetEntityBelowEntity' + InitGameTrace",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19f6f80",
  "name": "CPulseGraphInstance::GetEntityHeightAboveWorldCollision",
  "confidence": "medium",
  "rationale": "'GetEntityHeightAboveWorldCollision' + InitGameTrace",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19e4670",
  "name": "CPulseGraphInstance::SetEntityOrigin",
  "confidence": "medium",
  "rationale": "'Pulse: [%s] failed to find entity' + 'SetEntityOrigin' + SetAbsOrigin",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19e6940",
  "name": "CPulseGraphInstance_GameBlackboard::ResolveDomainValue",
  "confidence": "medium",
  "rationale": "string 'ResolveDomainValue entity not found: %s'; GameBlackboard slot 31",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2051270",
  "name": "CPulseServerCursor::Yield",
  "confidence": "medium",
  "rationale": "log 'Yielded at cell ptr:%p id:%d'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16f7330",
  "name": "CRestore::FindOrAddRestoreLookupTable",
  "confidence": "medium",
  "rationale": "debug '%s: FindOrAddRestoreLookupTable( %s )' names the method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1533880",
  "name": "CSMovementVelocityQuantizer_t::Quantize",
  "confidence": "medium",
  "rationale": "'Field %s tried to quantize an out-of-range value...clamping'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21389e0",
  "name": "CScriptComponent::DispatchPrecache",
  "confidence": "medium",
  "rationale": "strings 'DispatchPrecache' + 'Failed to precache script entity' + GetInputsForScriptClass",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2134690",
  "name": "CScriptComponent::InstallClasses",
  "confidence": "medium",
  "rationale": "literal 'InstallClasses' + 'Scripting disabled or no server running'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf705c0",
  "name": "CScriptGameEventListener::ScriptListenToGameEvent",
  "confidence": "medium",
  "rationale": "'ScriptListenToGameEvent error: event %s given a nil function.'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfe7880",
  "name": "CServerOnlyEntity::CServerOnlyEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfed890",
  "name": "CServerOnlyModelEntity::CServerOnlyModelEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xfe7a70",
  "name": "CServerOnlyPointEntity::CServerOnlyPointEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe43b30",
  "name": "CShatterGlassShard::CShatterGlassShard",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor callees; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18b3dd0",
  "name": "CShatterGlassShardMgr::GrowCount",
  "confidence": "medium",
  "rationale": "'GrowCount' with 'unable to grow count' + 'glassShard'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1780150",
  "name": "CSkeletonInstance::AddAnimationDecode",
  "confidence": "medium",
  "rationale": "skeletoninstance.cpp with 'AddAnimationDecode'/'SetupSequences' strings",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1781850",
  "name": "CSkeletonInstance::SetupModel",
  "confidence": "medium",
  "rationale": "assert on pInstance skeleton staging-list flags + fn name 'SetupModel'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a485a0",
  "name": "CSoundControllerImp::ResumeSound",
  "confidence": "medium",
  "rationale": "assert 'CSoundPatch::ResumeSound: Lost EHandle on restore'; slot 25",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdfd8a0",
  "name": "CSoundEventConeEntity::SoundEventConeThink",
  "confidence": "medium",
  "rationale": "string 'CSoundEventConeEntitySoundEventConeThink' names the think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe292d0",
  "name": "CSoundEventEntity::CSoundEventEntity",
  "confidence": "medium",
  "rationale": "class-name string 'CSoundEventEntity' + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdff8c0",
  "name": "CSoundEventEntity::StartSound",
  "confidence": "medium",
  "rationale": "slot-14 string 'StartSound'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe21200",
  "name": "CSoundEventEntity::StartSoundOnSingleClient",
  "confidence": "medium",
  "rationale": "slot-98 string 'StartSoundOnSingleClient'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdfd800",
  "name": "CSoundEventOBBEntity::SoundEventOBBThink",
  "confidence": "medium",
  "rationale": "string 'CSoundEventOBBEntitySoundEventOBBThink' names the think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdfd8f0",
  "name": "CSoundEventPathCornerEntity::SoundEventPathCornerThink",
  "confidence": "medium",
  "rationale": "string 'CSoundEventPathCornerEntitySoundEventPathCornerThink' names the think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdfd850",
  "name": "CSoundEventSphereEntity::SoundEventSphereThink",
  "confidence": "medium",
  "rationale": "string 'CSoundEventSphereEntitySoundEventSphereThink' names the think method",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe9f6c0",
  "name": "CSoundOpvarSetAABBEntity::CSoundOpvarSetAABBEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe9f4e0",
  "name": "CSoundOpvarSetBoxEntity::CSoundOpvarSetBoxEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe9f2e0",
  "name": "CSoundOpvarSetPointEntity::CSoundOpvarSetPointEntity",
  "confidence": "medium",
  "rationale": "class-name string + operator-new/base-ctor chain; constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18d0250",
  "name": "CSource2GameEntities::ShouldClientReceiveStringTableUserData",
  "confidence": "medium",
  "rationale": "error string names the function on nullptr GameRules",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18cd2c0",
  "name": "CSource2Server::GetLevelsFromSaveFile",
  "confidence": "medium",
  "rationale": "slot13 'GetLevelsFromSaveFile', 'OpenSaveFileAndExtractLevels() failed'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf28950",
  "name": "CSpawnGroupMgrGameSystem::ActivateSpawnGroup",
  "confidence": "medium",
  "rationale": "slot 7; 'CSpawnGroupMgrGameSystem::ActivateSpawnGroup:  no such group' / PerformActivateSpawnGroup",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xeffe20",
  "name": "CSpawnGroupMgrGameSystem::SaveGame",
  "confidence": "medium",
  "rationale": "slot 11 'ET:  SaveGame_Start at %u %s' = savegame start handler",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf27f10",
  "name": "CSpawnGroupMgrGameSystem::SpawnGroupInit",
  "confidence": "medium",
  "rationale": "slot 2; '%s:  SpawnGroupInit'/'SpawnGroupPrecache - start/finish'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf2c010",
  "name": "CSpawnGroupMgrGameSystem::SpawnGroupShutdown",
  "confidence": "medium",
  "rationale": "string '%s:  SpawnGroupShutdown: entities(%d)' at slot 6",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xadf250",
  "name": "CTouchExpansionComponent::SetUp",
  "confidence": "medium",
  "rationale": "log 'TouchExpansionComponent_SetUp (ent %s [%d])' + force disable touch events",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18946c0",
  "name": "CUtlMemoryPool::AddPage",
  "confidence": "medium",
  "rationale": "AddPage/EnsureUnusedCapacity allocation overflow",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16e9cc0",
  "name": "CUtlSymbolTableLarge::Alloc",
  "confidence": "medium",
  "rationale": "'CUtlSymbolTableLarge element limit of %u exceeded' + Alloc/AddPage/EnsureUnusedCapacity strings.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c600b0",
  "name": "CUtlVectorBase::InsertMultipleBefore",
  "confidence": "medium",
  "rationale": "'InsertMultipleBefore' + 'invalid insert point'/'max element overflow'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf31490",
  "name": "CVScriptGameSystem::ScriptDebugDraw",
  "confidence": "medium",
  "rationale": "slot 37 references 'ScriptDebugDraw'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf0d780",
  "name": "CVScriptGameSystem::ScriptDebugDumpKeys",
  "confidence": "medium",
  "rationale": "'ScriptDebugDumpKeys'/'Scripting disabled or no server running' debug command.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe00c10",
  "name": "CWorldCompositionReference::ComputeWorldOrigin",
  "confidence": "medium",
  "rationale": "self-named 'ComputeWorldOrigin', world_composition_reference.cpp, landmark origin",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19fa2b0",
  "name": "CanCharacterSeeEntity",
  "confidence": "medium",
  "rationale": "string literally 'CanCharacterSeeEntity' + character/target validation errors",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa38fe0",
  "name": "ConvertToCopiedData",
  "confidence": "medium",
  "rationale": "'Attempted to ConvertToCopiedData for unsupported type (%d)'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18756a0",
  "name": "DoSpark",
  "confidence": "medium",
  "rationale": "'DoSpark' with spark particle vpcf assets",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16f0fa0",
  "name": "EntitiesAlongLinearSweep",
  "confidence": "medium",
  "rationale": "string literally 'EntitiesAlongLinearSweep'; swept-trace entity enumeration",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18c4860",
  "name": "ExplosionEffect",
  "confidence": "medium",
  "rationale": "'BaseExplosionEffect.Sound' soundscript; creates explosion visual+sound.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1fddd30",
  "name": "Faceposer_BaseMoodSuggestions",
  "confidence": "medium",
  "rationale": "builds Faceposer_BaseMoodSuggestions autocomplete from Mood/MoodName for CChoreoEvent_BaseMood",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21c79e0",
  "name": "FindOverlaps",
  "confidence": "medium",
  "rationale": "String literally 'FindOverlaps'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x22871c0",
  "name": "GCSDK::CJob::Continue",
  "confidence": "medium",
  "rationale": "job.cpp function referencing string 'Continue'; resumes a yielded job",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2294320",
  "name": "GCSDK::CMessageList::GetMessage",
  "confidence": "medium",
  "rationale": "'GetMessage' + 'Unknown MsgType (%d) - Not Found', messagelist.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2286380",
  "name": "GCSDK::EmitBaseMessageV",
  "confidence": "medium",
  "rationale": "strings 'EmitBaseMessageV' + GCHost + gclogger.cpp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2134a80",
  "name": "GetClassNameOverride",
  "confidence": "medium",
  "rationale": "String literally 'GetClassNameOverride'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15db9a0",
  "name": "GetJointLimitAngles",
  "confidence": "medium",
  "rationale": "'GetJointLimitAngles' + joint-not-found error",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2137510",
  "name": "GetNativeOutputsForClass",
  "confidence": "medium",
  "rationale": "String literally 'GetNativeOutputsForClass'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xe92fc0",
  "name": "IKV3TransferInterface_EHandle_Load",
  "confidence": "medium",
  "rationale": "string literally names IKV3TransferInterface_EHandle_Load; \"Class data is a '%s', not a table\" load path.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2286a40",
  "name": "IMsgNetPacketFromCNetPacket",
  "confidence": "medium",
  "rationale": "string 'IMsgNetPacketFromCNetPacket: malformed packet' with hex-dump format strings",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10bb6d0",
  "name": "ISkeletonAnimationController::ISkeletonAnimationController",
  "confidence": "medium",
  "rationale": "Class-name string + ctor callee subset (9f3b10/a2e6a0/a44d50) = base constructor",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1352660",
  "name": "LobbyMapVetoFinished",
  "confidence": "medium",
  "rationale": "string literally 'LobbyMapVetoFinished: %s %s %s' and 'invalid map pick string, cannot change level'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bd9370",
  "name": "NavNearest::GetNavAreaOverlapping",
  "confidence": "medium",
  "rationale": "'NavNearest::GetNavAreaOverlapping','Failed to find nav area','LOS check failed. Obstructed'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xee07c0",
  "name": "ParseSubclass",
  "confidence": "medium",
  "rationale": "references literal \"ParseSubclass\" and \"false\"; keyvalue subclass parser.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1d15350",
  "name": "ReconnectGameInterface",
  "confidence": "medium",
  "rationale": "assert string 'In ReconnectGameInterface()' names the function",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c562a0",
  "name": "RegisterConVar",
  "confidence": "medium",
  "rationale": "'RegisterConVar: Unknown error registering convar' registration helper.",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15db650",
  "name": "SetJointLimitAngles",
  "confidence": "medium",
  "rationale": "'SetJointLimitAngles' + joint-not-found error",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15db310",
  "name": "SetJointLimitEnabled",
  "confidence": "medium",
  "rationale": "'SetJointLimitEnabled' + joint-not-found error",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1303fa0",
  "name": "SetPolymorphicPointer",
  "confidence": "medium",
  "rationale": "'SetPolymorphicPointer'/'unable to AssignChangeAccessorPathIds' + polymorphicmetadatahelper.h",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a4caf0",
  "name": "ShakeRopes",
  "confidence": "medium",
  "rationale": "'ShakeRopes' effect name + UTIL_DispatchEffect, float args",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15dd5c0",
  "name": "SimulateUserCommands",
  "confidence": "medium",
  "rationale": "'CQ resync' + 'SimulateUserCommands' basep path",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf3ec70",
  "name": "SpawnGroupSpawnEntities",
  "confidence": "medium",
  "rationale": "'SpawnGroupSpawnEntities finished spawning %d entities', loading entities from map/save start/finish",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2158d70",
  "name": "SplitContext",
  "confidence": "medium",
  "rationale": "'SplitContext: warning, ignoring context...' warnings, int=2, 3 callers; the context splitter util",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bedbf0",
  "name": "StitchPath",
  "confidence": "medium",
  "rationale": "'StitchPath has incorrect ending' assert names the routine.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x189ebd0",
  "name": "TeleportToPathNode",
  "confidence": "medium",
  "rationale": "string 'TeleportToPathNode' plus missing path-node/mover warnings",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xcd3b40",
  "name": "Think_LightStyleEvent",
  "confidence": "medium",
  "rationale": "literal 'Think_LightStyleEvent' string (+truncated 'ghtStyleEvent')",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf0b480",
  "name": "__RegisterGameEventListeners",
  "confidence": "medium",
  "rationale": "string literally '__RegisterGameEventListeners'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1f0c130",
  "name": "antlr3RecognitionExceptionNew",
  "confidence": "medium",
  "rationale": "'Base recognizer function antlr3RecognitionExceptionNew called by unknown parser type' + 'Recognition Exception'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21d11a0",
  "name": "buildNavigation",
  "confidence": "medium",
  "rationale": "String 'buildNavigation: Failed to build chunky mesh.' names the Recast nav-build routine.",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c943af",
  "name": "google::protobuf::DoubleToBuffer",
  "confidence": "medium",
  "rationale": "strutil.cc '%.*g'/'-inf'/kDoubleToBufferSize CHECK",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c920da",
  "name": "google::protobuf::FloatToBuffer",
  "confidence": "medium",
  "rationale": "strutil.cc '%.*g'/'-inf'/kFloatToBufferSize CHECK",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd02a",
  "name": "google::protobuf::Reflection::ClearField",
  "confidence": "medium",
  "rationale": "string 'ClearField' + 'Field does not match message type.' reflection usage error",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdccb8",
  "name": "google::protobuf::Reflection::FieldSize",
  "confidence": "medium",
  "rationale": "'FieldSize' + Field is singular; requires a repeated field",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cddbde",
  "name": "google::protobuf::Reflection::SetString",
  "confidence": "medium",
  "rationale": "'SetString' + Field is repeated; requires a singular field",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce2d64",
  "name": "google::protobuf::Reflection::SwapFields",
  "confidence": "medium",
  "rationale": "'First argument to SwapFields()'/'Second argument to SwapFields()'",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf3daa",
  "name": "google::protobuf::TextFormat::Printer::TextGenerator::Outdent",
  "confidence": "medium",
  "rationale": "text_format.cc slot 3 ' Outdent() without matching Indent().'",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7ec14",
  "name": "google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLast",
  "confidence": "medium",
  "rationale": "ReleaseLast() called on RepeatedPtrField on an arena error",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cfbdde",
  "name": "google::protobuf::io::CodedInputStream::UnsafeDecrementRecursionDepth",
  "confidence": "medium",
  "rationale": "coded_stream.h __PRETTY names UnsafeDecrementRecursionDepth (likely inlined into a group parse)",
  "corroboration": "bare",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c830ac",
  "name": "google::protobuf::io::ConcatenatingInputStream::BackUp",
  "confidence": "medium",
  "rationale": "'Can't BackUp() after failed Next().'; slot 3 = BackUp",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8431a",
  "name": "google::protobuf::io::FileOutputStream::BackUp",
  "confidence": "medium",
  "rationale": "BackUp CHECK strings + buffer_used_==buffer_size_ output adaptor, slot 3.",
  "corroboration": "exact",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a8a280",
  "name": "std::string::_S_create",
  "confidence": "medium",
  "rationale": "references libstdc++ 'basic_string::_S_create'; string buffer allocation helper",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbc8240",
  "name": "std::vector<>::_M_realloc_append",
  "confidence": "medium",
  "rationale": "libstdc++ error strings max_size()/vector::_M_realloc_append embedded",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14853c0",
  "name": "std::vector<CCSWeaponBaseVData>::_M_realloc_append",
  "confidence": "medium",
  "rationale": "'cannot create std::vector larger than max_size()' + 'vector::_M_realloc_append' libstdc++ growth helper",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x15b3e00",
  "name": "std::vector<CDamageRecord>::_M_realloc_append",
  "confidence": "medium",
  "rationale": "strings 'cannot create std::vector larger than max_size()' and 'vector::_M_realloc_append'",
  "corroboration": "none",
  "self_named": true,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee1b0",
  "name": "AccountActivity::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb60",
  "name": "AttackState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'Attack'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a32f0",
  "name": "CAttribute_String::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d60",
  "name": "CAttribute_String::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eed10",
  "name": "CAttribute_String::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17e07f0",
  "name": "CBaseButton::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "'State: %s' Locked/Unlocked/Enabled/Disabled overlay lines, slot 21.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205150",
  "name": "CCLCMsg_ClientInfo::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12060b0",
  "name": "CCLCMsg_HltvFixupOperatorTick::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205b80",
  "name": "CCLCMsg_Move::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12051e0",
  "name": "CCLCMsg_RespondCvarValue::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205290",
  "name": "CCLCMsg_SplitPlayerConnect::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1207120",
  "name": "CCLCMsg_VoiceData::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0c20",
  "name": "CCSUsrMsg_AchievementEvent::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0b00",
  "name": "CCSUsrMsg_AdjustMoney::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0ee0",
  "name": "CCSUsrMsg_AmmoDenied::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5290",
  "name": "CCSUsrMsg_BarTime::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0da0",
  "name": "CCSUsrMsg_CallVoteFailed::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1300",
  "name": "CCSUsrMsg_ClientInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4880",
  "name": "CCSUsrMsg_CloseCaption::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef790",
  "name": "CCSUsrMsg_CloseCaption::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a08f0",
  "name": "CCSUsrMsg_CloseCaptionDirect::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef7b0",
  "name": "CCSUsrMsg_CloseCaptionDirect::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a11e0",
  "name": "CCSUsrMsg_CurrentRoundOdds::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0bf0",
  "name": "CCSUsrMsg_CurrentTimescale::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef850",
  "name": "CCSUsrMsg_Damage::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9270",
  "name": "CCSUsrMsg_DeepStats::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested ClientDeepStats::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0bb0",
  "name": "CCSUsrMsg_DesiredTimescale::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a12d0",
  "name": "CCSUsrMsg_DisconnectToLobby::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1050",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_Accolade::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9380",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested CEconItemPreviewDataBlock + field helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0ad0",
  "name": "CCSUsrMsg_EntityOutlineHighlight::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef750",
  "name": "CCSUsrMsg_Fade::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1240",
  "name": "CCSUsrMsg_GameTitle::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0810",
  "name": "CCSUsrMsg_Geiger::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef6b0",
  "name": "CCSUsrMsg_Geiger::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4d00",
  "name": "CCSUsrMsg_HintText::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef710",
  "name": "CCSUsrMsg_HudMsg::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4780",
  "name": "CCSUsrMsg_HudText::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef6f0",
  "name": "CCSUsrMsg_HudText::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0f10",
  "name": "CCSUsrMsg_ItemDrop::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5070",
  "name": "CCSUsrMsg_ItemPickup::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0970",
  "name": "CCSUsrMsg_KeyHintText::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0b70",
  "name": "CCSUsrMsg_KillCam::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5390",
  "name": "CCSUsrMsg_MarkAchievement::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0c60",
  "name": "CCSUsrMsg_MatchEndConditions::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5490",
  "name": "CCSUsrMsg_MatchStatsUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3c50",
  "name": "CCSUsrMsg_PlayerDecalDigitalSignature::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested PlayerDecalDigitalSignature::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a63f0",
  "name": "CCSUsrMsg_PlayerStatsUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0ca0",
  "name": "CCSUsrMsg_PlayerStatsUpdate_Stat::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6770",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a09b0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0ce0",
  "name": "CCSUsrMsg_QuestProgress::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4be0",
  "name": "CCSUsrMsg_RadioText::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/repeated cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef870",
  "name": "CCSUsrMsg_RadioText::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4ab0",
  "name": "CCSUsrMsg_RawAudio::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef7f0",
  "name": "CCSUsrMsg_RawAudio::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0a00",
  "name": "CCSUsrMsg_ReloadEffect::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0b30",
  "name": "CCSUsrMsg_ReportHit::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1270",
  "name": "CCSUsrMsg_RequestState::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1210",
  "name": "CCSUsrMsg_ResetHud::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5590",
  "name": "CCSUsrMsg_RoundBackupFilenames::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a08b0",
  "name": "CCSUsrMsg_Rumble::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef770",
  "name": "CCSUsrMsg_Rumble::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0f50",
  "name": "CCSUsrMsg_SSUI::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7280",
  "name": "CCSUsrMsg_ScoreLeaderboardData::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested ScoreLeaderboardData::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a49b0",
  "name": "CCSUsrMsg_SendAudio::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef7d0",
  "name": "CCSUsrMsg_SendAudio::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0e60",
  "name": "CCSUsrMsg_SendLastKillerDamageToClient::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a87b0",
  "name": "CCSUsrMsg_SendPlayerItemDrops::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CEconItemPreviewDataBlock::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a86e0",
  "name": "CCSUsrMsg_SendPlayerItemFound::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CEconItemPreviewDataBlock::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5df0",
  "name": "CCSUsrMsg_ServerRankUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0ea0",
  "name": "CCSUsrMsg_ServerRankUpdate_RankUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0870",
  "name": "CCSUsrMsg_Shake::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef730",
  "name": "CCSUsrMsg_Shake::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5170",
  "name": "CCSUsrMsg_ShowMenu::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a12a0",
  "name": "CCSUsrMsg_StopSpectatorMode::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a72d0",
  "name": "CCSUsrMsg_SurvivalStats::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1010",
  "name": "CCSUsrMsg_SurvivalStats_Damage::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0f90",
  "name": "CCSUsrMsg_SurvivalStats_Fact::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0fd0",
  "name": "CCSUsrMsg_SurvivalStats_Placement::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0840",
  "name": "CCSUsrMsg_Train::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef6d0",
  "name": "CCSUsrMsg_Train::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0a80",
  "name": "CCSUsrMsg_UpdateScreenHealthBar::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7b30",
  "name": "CCSUsrMsg_VGUIMenu::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef690",
  "name": "CCSUsrMsg_VGUIMenu::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a61a0",
  "name": "CCSUsrMsg_VoiceMask::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef830",
  "name": "CCSUsrMsg_VoiceMask::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0930",
  "name": "CCSUsrMsg_VoiceMask_PlayerMask::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef810",
  "name": "CCSUsrMsg_VoiceMask_PlayerMask::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0de0",
  "name": "CCSUsrMsg_VoteFailed::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4fe0",
  "name": "CCSUsrMsg_VotePass::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0e20",
  "name": "CCSUsrMsg_VoteSetup::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4f30",
  "name": "CCSUsrMsg_VoteStart::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a4e00",
  "name": "CCSUsrMsg_WeaponSound::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0d20",
  "name": "CCSUsrMsg_XRankGet::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0d60",
  "name": "CCSUsrMsg_XRankUpd::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6720",
  "name": "CCSUsrMsg_XpUpdate::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested GC2ServerNotifyXPRewarded::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aada20",
  "name": "CChangeLevel::FindLandmark",
  "confidence": "high",
  "rationale": "strings 'Can't find landmark %s' + 'info_landmark' with FindEntityByName = landmark lookup for level transition",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e60",
  "name": "CClientHeaderOverwatchEvidence::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee990",
  "name": "CClientHeaderOverwatchEvidence::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x182b7e0",
  "name": "CCommentaryViewPosition::~CCommentaryViewPosition",
  "confidence": "high",
  "rationale": "slot5 deleting destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeb70",
  "name": "CDataGCCStrike15_v2_MatchInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6e80",
  "name": "CDataGCCStrike15_v2_TournamentGroup::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eebd0",
  "name": "CDataGCCStrike15_v2_TournamentGroup::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeb90",
  "name": "CDataGCCStrike15_v2_TournamentGroupTeam::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eebb0",
  "name": "CDataGCCStrike15_v2_TournamentGroup_Picks::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eec10",
  "name": "CDataGCCStrike15_v2_TournamentInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6bb0",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee490",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee470",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft_Entry::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6ff0",
  "name": "CDataGCCStrike15_v2_TournamentSection::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested TournamentGroup",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eebf0",
  "name": "CDataGCCStrike15_v2_TournamentSection::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a83b0",
  "name": "CEconItemPreviewDataBlock::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eea30",
  "name": "CEconItemPreviewDataBlock::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eea10",
  "name": "CEconItemPreviewDataBlock_Sticker::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1af72c0",
  "name": "CEconItemSchema::BInitEquipRegionConflicts",
  "confidence": "high",
  "rationale": "strings 'Unable to find base/other equip region \"%s\" for conflicts' pin equip-region conflict init",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b04780",
  "name": "CEconItemSchema::BInitEquipRegions",
  "confidence": "high",
  "rationale": "string 'Duplicate equip region named \"%s\"' pins equip-region table init",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b2a380",
  "name": "CEconItemSchema::BInitRecipes",
  "confidence": "high",
  "rationale": "strings 'Duplicate recipe definition (%d)'/'Recipe definition index %d must be >= zero'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b20660",
  "name": "CEconItemSchema::BInitSoundMaterials",
  "confidence": "high",
  "rationale": "string 'Duplicate sound material value (%d)' pins sound-material table init",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167bff0",
  "name": "CEventQueue_SaveRestoreBlockHandler::GetBlockName",
  "confidence": "high",
  "rationale": "ISaveRestoreBlockHandler slot 0 returns block name 'EventQueue'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1928e80",
  "name": "CFuncBrush::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot 21 pattern with debug string 'angles: %g %g %g'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a86550",
  "name": "CFuncTrackTrain::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 current speed (goal)/max speed via sub_0xd5f4c0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1abca40",
  "name": "CFuncTrackTrain::SetSpeed",
  "confidence": "high",
  "rationale": "string 'TRAIN(%s), speed to %.2f' is the SetSpeed debug log; 13 callers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a86d60",
  "name": "CFuncTrainControls::Find",
  "confidence": "high",
  "rationale": "debug string 'CFuncTrainControlsFind' names class+method",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb9c700",
  "name": "CKickIssue::GetDisplayString",
  "confidence": "high",
  "rationale": "slot 20 returns '#SFUI_vote_kick_player_other'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f700",
  "name": "CKickIssue::GetOtherTeamDisplayString",
  "confidence": "high",
  "rationale": "slot 21 returns '#SFUI_otherteam_vote_kick_player'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb99bf0",
  "name": "CLoadBackupIssue::GetDetailsString",
  "confidence": "high",
  "rationale": "slot 23 usage 'callvote %s <backup filename>'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1911160",
  "name": "CLogicBranch::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 Branch value: %s TRUE/FALSE via sub_0xd5f4c0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19017b0",
  "name": "CLogicBranchList::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 Branch (%s): %s TRUE/FALSE via sub_0xd5f4c0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1904a60",
  "name": "CLogicCase::InputPickRandom",
  "confidence": "high",
  "rationale": "'Firing PickRandom input on logic_case %s with no cases set up'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1919f50",
  "name": "CLogicCollisionPair::InputDisableCollisions",
  "confidence": "high",
  "rationale": "'No parameter provided to Input DisableCollisionsWith in logic_collision_pair %s'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f6520",
  "name": "CLogicCompare::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "indented '    Compare Value: %f' overlay text; slot 21 = DrawDebugTextOverlays",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1910420",
  "name": "CMathCounter::InputAdd",
  "confidence": "high",
  "rationale": "string Math Counter %s ignoring ADD because it is disabled",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1910490",
  "name": "CMathCounter::InputDivide",
  "confidence": "high",
  "rationale": "strings 'Divide by zero in math_value' + 'Math Counter %s ignoring DIVIDE because it is disabled'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1910540",
  "name": "CMathCounter::InputMultiply",
  "confidence": "high",
  "rationale": "string Math Counter %s ignoring MULTIPLY because it is disabled",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19105b0",
  "name": "CMathCounter::InputSetValue",
  "confidence": "high",
  "rationale": "string Math Counter %s ignoring SETVALUE because it is disabled",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f7ab0",
  "name": "CMathCounter::InputSetValueNoFire",
  "confidence": "high",
  "rationale": "string Math Counter %s ignoring SETVALUENOFIRE because it is disabled",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1910610",
  "name": "CMathCounter::InputSubtract",
  "confidence": "high",
  "rationale": "string Math Counter %s ignoring SUBTRACT because it is disabled",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17e1b80",
  "name": "CMomentaryRotButton::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "'Direction: %s'/'Current Pos'/AVelocity/QAngle overlay lines, slot 21.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f13a0",
  "name": "CMsgApplyEggEssence::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f13b0",
  "name": "CMsgApplyPennantUpgrade::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f13d0",
  "name": "CMsgApplyStatTrakSwap::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f13f0",
  "name": "CMsgApplySticker::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f13c0",
  "name": "CMsgApplyStrangePart::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d40",
  "name": "CMsgCStrike15Welcome::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eed70",
  "name": "CMsgCStrike15Welcome::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1310",
  "name": "CMsgConsumableExhausted::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a8e60",
  "name": "CMsgDevNewItemRequest::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CSOItemCriteria::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1410",
  "name": "CMsgDevNewItemRequest::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2230",
  "name": "CMsgGCBannedWord::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1200",
  "name": "CMsgGCBannedWordListRequest::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7550",
  "name": "CMsgGCBannedWordListResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a90e0",
  "name": "CMsgGCCStrike15_ClientDeepStats::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested DeepStatsMatch + repeated helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee850",
  "name": "CMsgGCCStrike15_ClientDeepStats::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7a30",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message + submessage cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee830",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee810",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsRange::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5bd0",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0fc0",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee5f0",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee5d0",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings_Setting::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a03c0",
  "name": "CMsgGCCStrike15_v2_AcknowledgePenalty::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0bb0",
  "name": "CMsgGCCStrike15_v2_AcknowledgePenalty::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef110",
  "name": "CMsgGCCStrike15_v2_AcknowledgePenalty::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e00",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eea90",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a8690",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CEconItemPreviewDataBlock::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0df0",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeab0",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a03f0",
  "name": "CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0ba0",
  "name": "CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef130",
  "name": "CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0430",
  "name": "CMsgGCCStrike15_v2_Client2GCStreamUnlock::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0b90",
  "name": "CMsgGCCStrike15_v2_Client2GCStreamUnlock::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef150",
  "name": "CMsgGCCStrike15_v2_Client2GCStreamUnlock::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e40",
  "name": "CMsgGCCStrike15_v2_Client2GCTextMsg::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee9d0",
  "name": "CMsgGCCStrike15_v2_Client2GCTextMsg::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f60",
  "name": "CMsgGCCStrike15_v2_ClientCommendPlayer::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee6b0",
  "name": "CMsgGCCStrike15_v2_ClientCommendPlayer::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f70",
  "name": "CMsgGCCStrike15_v2_ClientReportPlayer::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee690",
  "name": "CMsgGCCStrike15_v2_ClientReportPlayer::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f40",
  "name": "CMsgGCCStrike15_v2_ClientReportResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee6f0",
  "name": "CMsgGCCStrike15_v2_ClientReportResponse::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f50",
  "name": "CMsgGCCStrike15_v2_ClientReportServer::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee6d0",
  "name": "CMsgGCCStrike15_v2_ClientReportServer::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f20",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinFriendData::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee750",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinFriendData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f10",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinServerData::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee770",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinServerData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0ec0",
  "name": "CMsgGCCStrike15_v2_ClientRequestPlayersProfile::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee890",
  "name": "CMsgGCCStrike15_v2_ClientRequestPlayersProfile::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7470",
  "name": "CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f30",
  "name": "CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee710",
  "name": "CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d00",
  "name": "CMsgGCCStrike15_v2_ClientSubmitSurveyVote::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eee30",
  "name": "CMsgGCCStrike15_v2_ClientSubmitSurveyVote::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3770",
  "name": "CMsgGCCStrike15_v2_ClientToGCChat::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0b70",
  "name": "CMsgGCCStrike15_v2_ClientToGCChat::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef190",
  "name": "CMsgGCCStrike15_v2_ClientToGCChat::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0470",
  "name": "CMsgGCCStrike15_v2_ClientToGCRequestElevate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0b80",
  "name": "CMsgGCCStrike15_v2_ClientToGCRequestElevate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef170",
  "name": "CMsgGCCStrike15_v2_ClientToGCRequestElevate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3510",
  "name": "CMsgGCCStrike15_v2_ClientVarValueNotificationInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/repeated cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d30",
  "name": "CMsgGCCStrike15_v2_ClientVarValueNotificationInfo::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eed90",
  "name": "CMsgGCCStrike15_v2_ClientVarValueNotificationInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a59f0",
  "name": "CMsgGCCStrike15_v2_Fantasy::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d70",
  "name": "CMsgGCCStrike15_v2_Fantasy::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eecf0",
  "name": "CMsgGCCStrike15_v2_Fantasy::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eecb0",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasySlot::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6020",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasyTeam::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eecd0",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasyTeam::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a31d0",
  "name": "CMsgGCCStrike15_v2_GC2ClientTextMsg::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e50",
  "name": "CMsgGCCStrike15_v2_GC2ClientTextMsg::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee9b0",
  "name": "CMsgGCCStrike15_v2_GC2ClientTextMsg::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0ce0",
  "name": "CMsgGCCStrike15_v2_GC2ClientTournamentInfo::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eee70",
  "name": "CMsgGCCStrike15_v2_GC2ClientTournamentInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1010",
  "name": "CMsgGCCStrike15_v2_GC2ServerReservationUpdate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee3b0",
  "name": "CMsgGCCStrike15_v2_GC2ServerReservationUpdate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3880",
  "name": "CMsgGCCStrike15_v2_GCToClientChat::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0b60",
  "name": "CMsgGCCStrike15_v2_GCToClientChat::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef1b0",
  "name": "CMsgGCCStrike15_v2_GCToClientChat::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eedd0",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardRequest::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6320",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d10",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eee10",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eedf0",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse_GiftLeaderboardEntry::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a85f0",
  "name": "CMsgGCCStrike15_v2_MatchEndRewardDropsNotification::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CEconItemPreviewDataBlock::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e20",
  "name": "CMsgGCCStrike15_v2_MatchEndRewardDropsNotification::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eea50",
  "name": "CMsgGCCStrike15_v2_MatchEndRewardDropsNotification::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e30",
  "name": "CMsgGCCStrike15_v2_MatchEndRunRewardDrops::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee9f0",
  "name": "CMsgGCCStrike15_v2_MatchEndRunRewardDrops::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0da0",
  "name": "CMsgGCCStrike15_v2_MatchList::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eec30",
  "name": "CMsgGCCStrike15_v2_MatchList::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eead0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0db0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestFullGameInfo::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeb50",
  "name": "CMsgGCCStrike15_v2_MatchListRequestFullGameInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0de0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeaf0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0dd0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestRecentUserGames::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeb10",
  "name": "CMsgGCCStrike15_v2_MatchListRequestRecentUserGames::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0dc0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestTournamentGames::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eeb30",
  "name": "CMsgGCCStrike15_v2_MatchListRequestTournamentGames::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee590",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2GCHello::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7db0",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2ServerPing::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0fe0",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2ServerPing::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee430",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2ServerPing::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0fb0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee610",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee5b0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientHello::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee530",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0fd0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee450",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee410",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate_Note::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee390",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee4f0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2db0",
  "name": "CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f90",
  "name": "CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee650",
  "name": "CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee510",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerReservationResponse::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee570",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee550",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats_DropInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a92c0",
  "name": "CMsgGCCStrike15_v2_MatchmakingStart::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1000",
  "name": "CMsgGCCStrike15_v2_MatchmakingStart::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee3d0",
  "name": "CMsgGCCStrike15_v2_MatchmakingStart::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0ff0",
  "name": "CMsgGCCStrike15_v2_MatchmakingStop::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee3f0",
  "name": "CMsgGCCStrike15_v2_MatchmakingStop::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3080",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e80",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee950",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e70",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee970",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e90",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee930",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0eb0",
  "name": "CMsgGCCStrike15_v2_PlayersProfile::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee8b0",
  "name": "CMsgGCCStrike15_v2_PlayersProfile::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5f60",
  "name": "CMsgGCCStrike15_v2_Predictions::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d80",
  "name": "CMsgGCCStrike15_v2_Predictions::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eec90",
  "name": "CMsgGCCStrike15_v2_Predictions::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eec70",
  "name": "CMsgGCCStrike15_v2_Predictions_GroupMatchTeamPick::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0cf0",
  "name": "CMsgGCCStrike15_v2_Server2GCClientValidate::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eee50",
  "name": "CMsgGCCStrike15_v2_Server2GCClientValidate::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0f80",
  "name": "CMsgGCCStrike15_v2_ServerNotificationForUserPenalty::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee670",
  "name": "CMsgGCCStrike15_v2_ServerNotificationForUserPenalty::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0d20",
  "name": "CMsgGCCStrike15_v2_ServerVarValueNotificationInfo::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eedb0",
  "name": "CMsgGCCStrike15_v2_ServerVarValueNotificationInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0ed0",
  "name": "CMsgGCCStrike15_v2_WatchInfoUsers::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee870",
  "name": "CMsgGCCStrike15_v2_WatchInfoUsers::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2100",
  "name": "CMsgGCClientDisplayNotification::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated/field cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12b0",
  "name": "CMsgGCClientDisplayNotification::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1140",
  "name": "CMsgGCClientVersionUpdated::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11a0",
  "name": "CMsgGCCollectItem::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6640",
  "name": "CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee7d0",
  "name": "CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1bf0",
  "name": "CMsgGCError::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1340",
  "name": "CMsgGCError::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1290",
  "name": "CMsgGCIncrementKillCountResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1250",
  "name": "CMsgGCItemPreviewItemBoughtNotification::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1fd0",
  "name": "CMsgGCNameItemNotification::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12c0",
  "name": "CMsgGCNameItemNotification::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1d70",
  "name": "CMsgGCReportAbuse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12e0",
  "name": "CMsgGCReportAbuse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1ea0",
  "name": "CMsgGCReportAbuseResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12d0",
  "name": "CMsgGCReportAbuseResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2190",
  "name": "CMsgGCRequestAnnouncementsResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11f0",
  "name": "CMsgGCRequestAnnouncementsResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1150",
  "name": "CMsgGCServerVersionUpdated::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12a0",
  "name": "CMsgGCShowItemsPickedUp::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1240",
  "name": "CMsgGCStorePurchaseCancel::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1230",
  "name": "CMsgGCStorePurchaseCancelResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1220",
  "name": "CMsgGCStorePurchaseFinalize::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1210",
  "name": "CMsgGCStorePurchaseFinalizeResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6830",
  "name": "CMsgGCStorePurchaseInit::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f14d0",
  "name": "CMsgGCStorePurchaseInit::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1370",
  "name": "CMsgGCStorePurchaseInitResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f14c0",
  "name": "CMsgGCStorePurchaseInitResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7700",
  "name": "CMsgGCToGCBannedWordListBroadcast::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested BannedWordListResponse::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11e0",
  "name": "CMsgGCToGCBannedWordListBroadcast::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11d0",
  "name": "CMsgGCToGCBannedWordListUpdated::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2450",
  "name": "CMsgGCToGCBroadcastConsoleCommand::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1160",
  "name": "CMsgGCToGCBroadcastConsoleCommand::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11b0",
  "name": "CMsgGCToGCDirtyMultipleSDOCache::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f11c0",
  "name": "CMsgGCToGCDirtySDOCache::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1180",
  "name": "CMsgGCToGCIsTrustedServer::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1170",
  "name": "CMsgGCToGCIsTrustedServerResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1130",
  "name": "CMsgGCToGCRequestPassportItemGrant::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2350",
  "name": "CMsgGCToGCUpdateSQLKeyValue::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1190",
  "name": "CMsgGCToGCUpdateSQLKeyValue::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0380",
  "name": "CMsgGC_GlobalGame_Play::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0bc0",
  "name": "CMsgGC_GlobalGame_Play::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef0f0",
  "name": "CMsgGC_GlobalGame_Play::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0320",
  "name": "CMsgGC_GlobalGame_Subscribe::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0be0",
  "name": "CMsgGC_GlobalGame_Subscribe::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef0b0",
  "name": "CMsgGC_GlobalGame_Subscribe::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a0350",
  "name": "CMsgGC_GlobalGame_Unsubscribe::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear (this-only ABI)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0bd0",
  "name": "CMsgGC_GlobalGame_Unsubscribe::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef0d0",
  "name": "CMsgGC_GlobalGame_Unsubscribe::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7970",
  "name": "CMsgGC_ServerQuestUpdateData::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested ScoreLeaderboardData + PlayerQuestData",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee370",
  "name": "CMsgGC_ServerQuestUpdateData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2550",
  "name": "CMsgGameServerInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1120",
  "name": "CMsgGameServerInfo::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1400",
  "name": "CMsgIncrementKillCountAttribute::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1470",
  "name": "CMsgInvitationCreated::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1480",
  "name": "CMsgInviteToParty::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a8640",
  "name": "CMsgItemAcknowledged::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively calls nested CEconItemPreviewDataBlock::Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0e10",
  "name": "CMsgItemAcknowledged::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eea70",
  "name": "CMsgItemAcknowledged::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1300",
  "name": "CMsgItemAcknowledged__DEPRECATED::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1450",
  "name": "CMsgKickFromParty::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1440",
  "name": "CMsgLANServerAvailable::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f64f0",
  "name": "CMsgLeaveParty::~CMsgLeaveParty",
  "confidence": "high",
  "rationale": "Empty proto msg, tiny vtable slot-0 fn with no callees = trivial complete-object destructor.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1460",
  "name": "CMsgPartyInviteResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12027d0",
  "name": "CMsgQAngle::ByteSizeLong",
  "confidence": "high",
  "rationale": "CMsgQAngle ByteSizeLong: this-only(int=1), 19 callers embedding a QAngle; slot-8 recursion hub",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1cf0",
  "name": "CMsgReplayUploadedToYouTube::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1320",
  "name": "CMsgReplayUploadedToYouTube::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5b20",
  "name": "CMsgSetItemPositions::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f12f0",
  "name": "CMsgSetItemPositions::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1390",
  "name": "CMsgSortItems::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1370",
  "name": "CMsgStoreGetUserData::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1ad0",
  "name": "CMsgStoreGetUserDataResponse::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1360",
  "name": "CMsgStoreGetUserDataResponse::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a16e0",
  "name": "CMsgSystemBroadcast::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1490",
  "name": "CMsgSystemBroadcast::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1b70",
  "name": "CMsgUpdateItemSchema::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1350",
  "name": "CMsgUpdateItemSchema::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1330",
  "name": "CMsgUseItem::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1202730",
  "name": "CMsgVector::ByteSizeLong",
  "confidence": "high",
  "rationale": "CMsgVector ByteSizeLong: this-only(int=1), 55 callers = every message embedding a Vector; recursion hub for slot-8",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1208b30",
  "name": "CMsg_CVars::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1208c00",
  "name": "CNETMsg_SetConVar::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1206cc0",
  "name": "CNETMsg_SignonState::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205a30",
  "name": "CNETMsg_StringCmd::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12058f0",
  "name": "CNETMsg_Tick::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb9b040",
  "name": "CNextLevelIssue::GetDetailsString",
  "confidence": "high",
  "rationale": "slot 23 usage 'callvote %s <mapname>'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f890",
  "name": "CNotReadyForMatchIssue::GetVotePassedString",
  "confidence": "high",
  "rationale": "slot 24 returns '#SFUI_vote_passed_not_ready_for_match'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f7c0",
  "name": "CPauseMatchIssue::GetVotePassedString",
  "confidence": "high",
  "rationale": "slot 24 returns '#SFUI_vote_passed_pause_match'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19ca6b0",
  "name": "CPhysBox::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 Nav ignore = %s true/false via sub_0xd2ad40",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1996330",
  "name": "CPhysExplosion::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "indented '    magnitude: %.2f damage %.2f' overlay text; slot 21 = DrawDebugTextOverlays",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927770",
  "name": "CPhysSaveRestoreBlockHandler::GetBlockName",
  "confidence": "high",
  "rationale": "save/restore block handler slot 0 returning block name 'Physics'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1992070",
  "name": "CPhysicsProp::CreateVPhysics",
  "confidence": "high",
  "rationale": "'Cannot create physics for %s' failure string; VPhysics creation",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1993cf0",
  "name": "CPhysicsProp::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "'Base PropData'/'Health: %d, collision group'/Dynamic-Awake overlay lines, slot 21.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19a0eb0",
  "name": "CPointAngleSensor::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 delta ang (dot)/tolerance ang/facing via sub_0xd5f4c0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6cf0",
  "name": "CPreMatchInfoData::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested TournamentMatchDraft + field helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee4d0",
  "name": "CPreMatchInfoData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2ca0",
  "name": "CPreMatchInfoData_TeamStats::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee4b0",
  "name": "CPreMatchInfoData_TeamStats::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19d8590",
  "name": "CPropDoorRotating::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "'DOOR STATE: %s' OPEN/CLOSING/LOCKED overlay lines, slot 21.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19dbea0",
  "name": "CPropDoorRotatingBreakable::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "'DOOR IS %s'/BREAKABLE + door-state overlay lines, slot 21.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbaa690",
  "name": "CReadyForMatchIssue::ExecuteCommand",
  "confidence": "high",
  "rationale": "slot 22 runs 'mp_warmup_pausetimer 0;'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f870",
  "name": "CReadyForMatchIssue::GetVotePassedString",
  "confidence": "high",
  "rationale": "slot 24 returns '#SFUI_vote_passed_ready_for_match'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a19a0",
  "name": "CSOEconClaimCode::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1380",
  "name": "CSOEconClaimCode::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0cd0",
  "name": "CSOEconCoupon::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eee90",
  "name": "CSOEconCoupon::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1430",
  "name": "CSOEconGameAccountClient::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a80e0",
  "name": "CSOEconItem::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested CSOEconItem (equipped list) + field helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a1880",
  "name": "CSOEconItemAttribute::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1280",
  "name": "CSOEconItemDropRateBonus::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1260",
  "name": "CSOEconItemEventTicket::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1270",
  "name": "CSOEconItemLeagueViewPass::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a8b80",
  "name": "CSOItemCriteria::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a17e0",
  "name": "CSOItemCriteriaCondition::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a8eb0",
  "name": "CSOItemRecipe::Clear",
  "confidence": "high",
  "rationale": "slot 4 = Clear; recursively clears nested CSOItemCriteria + string helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1420",
  "name": "CSOItemRecipe::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a15c0",
  "name": "CSOLobbyInvite::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f14a0",
  "name": "CSOLobbyInvite::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a14a0",
  "name": "CSOPartyInvite::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f14b0",
  "name": "CSOPartyInvite::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0c20",
  "name": "CSOPersonaDataPublic::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef010",
  "name": "CSOPersonaDataPublic::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0c60",
  "name": "CSOQuestProgress::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10eef90",
  "name": "CSOQuestProgress::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12045a0",
  "name": "CSVCMsg_BSPDecal::ByteSizeLong",
  "confidence": "high",
  "rationale": "slot8 this-only(int=1) calling embedded sub-message ByteSizeLong (sub_0x1202730); protobuf ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12085c0",
  "name": "CSVCMsg_ClassInfo::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12052d0",
  "name": "CSVCMsg_ClassInfo_class_t::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205de0",
  "name": "CSVCMsg_CreateStringTable::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1209850",
  "name": "CSVCMsg_GameEvent::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1208ac0",
  "name": "CSVCMsg_GameEventList::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12089a0",
  "name": "CSVCMsg_GameEventList_descriptor_t::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205530",
  "name": "CSVCMsg_GameEventList_key_t::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205a90",
  "name": "CSVCMsg_GameEvent_key_t::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12053b0",
  "name": "CSVCMsg_GetCvarValue::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205790",
  "name": "CSVCMsg_HltvFixupOperatorStatus::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205be0",
  "name": "CSVCMsg_Menu::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1208c50",
  "name": "CSVCMsg_PacketEntities::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205410",
  "name": "CSVCMsg_SendTable_sendprop_t::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1206940",
  "name": "CSVCMsg_ServerInfo::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203f10",
  "name": "CSVCMsg_Sounds::ByteSizeLong",
  "confidence": "high",
  "rationale": "slot8 this-only(int=1) calling embedded sub-message ByteSizeLong (sub_0x1203cf0); protobuf ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205d80",
  "name": "CSVCMsg_TempEntities::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205f10",
  "name": "CSVCMsg_UpdateStringTable::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205c40",
  "name": "CSVCMsg_UserMessage::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12071a0",
  "name": "CSVCMsg_VoiceData::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1205330",
  "name": "CSVCMsg_VoiceInit::ByteSizeLong",
  "confidence": "high",
  "rationale": "protobuf vtable slot 8 (int=1); recurses into sub-message slot-8 (ByteSize) + string-size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbaa570",
  "name": "CScrambleTeams::ExecuteCommand",
  "confidence": "high",
  "rationale": "slot 22 runs 'mp_scrambleteams 2;'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f790",
  "name": "CScrambleTeams::GetDisplayString",
  "confidence": "high",
  "rationale": "slot 20 returns '#SFUI_vote_scramble_teams'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f840",
  "name": "CStartTimeOutIssue::GetDisplayString",
  "confidence": "high",
  "rationale": "slot 20 returns '#SFUI_vote_start_timeout'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f630",
  "name": "CStartTimeOutIssue::GetOtherTeamDisplayString",
  "confidence": "high",
  "rationale": "slot 21 returns '#SFUI_otherteam_vote_timeout'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f8c0",
  "name": "CSurrender::GetDisplayString",
  "confidence": "high",
  "rationale": "slot 20 returns '#SFUI_vote_surrender'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f8a0",
  "name": "CSwapTeams::GetDisplayString",
  "confidence": "high",
  "rationale": "slot 20 returns '#SFUI_vote_swap_teams'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f65b0",
  "name": "CTimerEntity::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot21 refire interval/firing in %.2f sec via sub_0xd5f4c0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a88990",
  "name": "CTriggerImpact::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot 21 pattern with debug string 'Magnitude: %3.2f'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a88a00",
  "name": "CTriggerLook::DrawDebugTextOverlays",
  "confidence": "high",
  "rationale": "slot 21 pattern with debug string 'Time:   %3.2f'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aafd00",
  "name": "CTriggerTeleport::Touch",
  "confidence": "high",
  "rationale": "string 'Trigger %s is teleporting %s from ( %f %f %f ) to ( %f %f %f )' is the teleport routine",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbaa600",
  "name": "CUnpauseMatchIssue::ExecuteCommand",
  "confidence": "high",
  "rationale": "slot 22 runs 'mp_unpause_match;'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb8f7e0",
  "name": "CUnpauseMatchIssue::GetVotePassedString",
  "confidence": "high",
  "rationale": "slot 24 returns '#SFUI_vote_passed_unpause_match'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee350",
  "name": "DeepPlayerMatchEvent::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee330",
  "name": "DeepPlayerStatsEntry::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ebd0",
  "name": "DefuseBombState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'DefuseBomb'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee010",
  "name": "DetailedSearchStatistic::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec00",
  "name": "EscapeFromBombState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'EscapeFromBomb'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec40",
  "name": "EscapeFromFlamesState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'EscapeFromFlames'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ebb0",
  "name": "FetchBombState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'FetchBomb'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec10",
  "name": "FollowState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'Follow'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10edfd0",
  "name": "GameServerPing::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6920",
  "name": "GlobalStatistics::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee090",
  "name": "GlobalStatistics::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ebf0",
  "name": "HideState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'Hide'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb50",
  "name": "HuntState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'Hunt'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb40",
  "name": "IdleState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'Idle'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb70",
  "name": "InvestigateNoiseState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'InvestigateNoise'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee210",
  "name": "IpAddressMask::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee270",
  "name": "MatchEndItemUpdates::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb90",
  "name": "MoveToState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'MoveTo'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec30",
  "name": "OpenDoorState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'OpenDoor'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2a20",
  "name": "OperationalStatisticDescription::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1030",
  "name": "OperationalStatisticDescription::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee0b0",
  "name": "OperationalStatisticDescription::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee0d0",
  "name": "OperationalStatisticElement::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a5880",
  "name": "OperationalStatisticsPacket::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f1020",
  "name": "OperationalStatisticsPacket::GetCachedSize",
  "confidence": "high",
  "rationale": "vtable slot9 is 'mov eax,[this+0x14]; ret' returning cached size (protobuf GetCachedSize); verified by disassembly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee0f0",
  "name": "OperationalStatisticsPacket::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ebe0",
  "name": "PickupHostageState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'PickupHostage'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ebc0",
  "name": "PlantBombState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'PlantBomb'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee170",
  "name": "PlayerCommendationInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a3aa0",
  "name": "PlayerDecalDigitalSignature::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string/field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef210",
  "name": "PlayerDecalDigitalSignature::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee190",
  "name": "PlayerMedalsInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a7750",
  "name": "PlayerQuestData::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee310",
  "name": "PlayerQuestData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee2f0",
  "name": "PlayerQuestData_QuestItemData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6a30",
  "name": "PlayerRankingInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee150",
  "name": "PlayerRankingInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a70b0",
  "name": "ScoreLeaderboardData::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls string + repeated-message cleanup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee2d0",
  "name": "ScoreLeaderboardData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a6260",
  "name": "ScoreLeaderboardData_AccountEntries::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-message cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee2b0",
  "name": "ScoreLeaderboardData_AccountEntries::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee290",
  "name": "ScoreLeaderboardData_Entry::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2bc0",
  "name": "ServerHltvInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee1f0",
  "name": "ServerHltvInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2960",
  "name": "TournamentEvent::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee070",
  "name": "TournamentEvent::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee1d0",
  "name": "TournamentMatchSetup::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2870",
  "name": "TournamentPlayer::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee030",
  "name": "TournamentPlayer::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee050",
  "name": "TournamentTeam::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec20",
  "name": "UseEntityState::GetName",
  "confidence": "high",
  "rationale": "CS bot state GetName() slot-3 returns 'UseEntity'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a2eb0",
  "name": "WatchableMatchInfo::Clear",
  "confidence": "high",
  "rationale": "protobuf message vtable slot 4 = Clear; calls repeated-field cleanup helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee730",
  "name": "WatchableMatchInfo::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ee250",
  "name": "XpProgressData::GetMetadata",
  "confidence": "high",
  "rationale": "Parameterless slot-16 thunk loads descriptor-table getter + once_flag + metadata slot and tail-calls the shared AssignDescriptors/call_once helper (0x1cdaa3a) returning a 2-ptr protobuf Metadata; canonical Message::GetMetadata.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c90d18",
  "name": "google::protobuf::CEscapeInternal",
  "confidence": "high",
  "rationale": "'\\\\%03o'/'\\\\x%02x' escape formats, 6 args match CEscapeInternal(src,len,dest,dlen,use_hex,utf8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c98f72",
  "name": "google::protobuf::DescriptorBuilder::AddError",
  "confidence": "high",
  "rationale": "descriptor.cc 'Invalid proto descriptor for file \"' + 28 callers = error sink",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c98950",
  "name": "google::protobuf::DescriptorPool::InternalAddGeneratedFile",
  "confidence": "high",
  "rationale": "descriptor.cc 'GeneratedDatabase()->Add(encoded_file_descriptor, size)' CHECK",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc626",
  "name": "google::protobuf::DescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is DescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc588",
  "name": "google::protobuf::DescriptorProto_ExtensionRange::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is DescriptorProto_ExtensionRange destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd1008",
  "name": "google::protobuf::EncodedDescriptorDatabase::Add",
  "confidence": "high",
  "rationale": "string 'Invalid file descriptor data passed to EncodedDescriptorDatabase::Add()' names the method",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc8e4",
  "name": "google::protobuf::EnumDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is EnumDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc0c0",
  "name": "google::protobuf::EnumOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is EnumOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc9d4",
  "name": "google::protobuf::EnumValueDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is EnumValueDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc154",
  "name": "google::protobuf::EnumValueOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is EnumValueOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc770",
  "name": "google::protobuf::FieldDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is FieldDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccbf86",
  "name": "google::protobuf::FieldOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is FieldOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cccbfe",
  "name": "google::protobuf::FileDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is FileDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb4cc",
  "name": "google::protobuf::FileDescriptorSet::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is FileDescriptorSet destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccbde2",
  "name": "google::protobuf::FileOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is FileOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccbef2",
  "name": "google::protobuf::MessageOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is MessageOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cccb44",
  "name": "google::protobuf::MethodDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is MethodDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc27c",
  "name": "google::protobuf::MethodOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is MethodOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccca7c",
  "name": "google::protobuf::ServiceDescriptorProto::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is ServiceDescriptorProto destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccc1e8",
  "name": "google::protobuf::ServiceOptions::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is ServiceOptions destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb6f6",
  "name": "google::protobuf::UninterpretedOption::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is UninterpretedOption destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb604",
  "name": "google::protobuf::UninterpretedOption_NamePart::IsInitialized",
  "confidence": "high",
  "rationale": "vtable slot 5 = IsInitialized; NamePart has required fields so int=1 checks has-bits",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb66a",
  "name": "google::protobuf::UninterpretedOption_NamePart::SharedDtor",
  "confidence": "high",
  "rationale": "non-virtual dtor helper w/ GetArenaForAllocation()==nullptr DCHECK; sole caller is UninterpretedOption_NamePart destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c836e8",
  "name": "google::protobuf::io::ArrayInputStream::ByteCount",
  "confidence": "high",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount (int=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c836b0",
  "name": "google::protobuf::io::ArrayInputStream::Next",
  "confidence": "high",
  "rationale": "ZeroCopyInputStream slot 2 = Next (int=3), matches ABI exactly",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83726",
  "name": "google::protobuf::io::ArrayOutputStream::ByteCount",
  "confidence": "high",
  "rationale": "ZeroCopyOutputStream slot 4 = ByteCount (int=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c836ee",
  "name": "google::protobuf::io::ArrayOutputStream::Next",
  "confidence": "high",
  "rationale": "ZeroCopyOutputStream slot 2 = Next (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83bbe",
  "name": "google::protobuf::io::StringOutputStream::BackUp",
  "confidence": "high",
  "rationale": "class StringOutputStream slot 3; count<=target_->size() BackUp CHECKs",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0470",
  "name": "AccountActivity::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d020",
  "name": "AccountActivity::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc096f0",
  "name": "BotFollowMeme::Interpret",
  "confidence": "medium",
  "rationale": "BotMeme slot 2 Interpret; reacts with 'CoveringFriend' chatter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc0bb10",
  "name": "BotHostageBeingTakenMeme::Interpret",
  "confidence": "medium",
  "rationale": "BotMeme slot 2 Interpret; reacts with 'Affirmative' chatter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7eb80",
  "name": "BuyState::GetName",
  "confidence": "medium",
  "rationale": "CS bot state slot 3 = GetName (returns state name)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7f250",
  "name": "BuyState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit, calls sub_0xbfacd0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc91fc0",
  "name": "BuyState::OnUpdate",
  "confidence": "medium",
  "rationale": "slot 1=OnUpdate; 'Tried to buy %s'/'buy vesthelm'/spawned outside buy zone",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x181b360",
  "name": "CAI_ExpresserWithFollowup::SpeakDispatchResponse",
  "confidence": "medium",
  "rationale": "'queueing followup after \\'%s\\' speaks \\'%s\\'' + unsupported-followup-type strings; class matches.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a5b280",
  "name": "CAI_ScriptedSequence::CancelScript",
  "confidence": "medium",
  "rationale": "'Cancelling script: %s' log; cancels a scripted sequence",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1451370",
  "name": "CAK47::SecondaryAttack",
  "confidence": "medium",
  "rationale": "slot422 reads 'cl_sniper_auto_rezoom' (zoom)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17d0a00",
  "name": "CAmbientGeneric::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 trivial int=0 per-class datamap accessor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ade550",
  "name": "CAttributeContainer::GetItem",
  "confidence": "medium",
  "rationale": "slot 6 with 14 callers, calls schema field accessor = m_Item getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130aa0",
  "name": "CAttribute_String::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1765850",
  "name": "CBaseCombatCharacter::GiveAmmo",
  "confidence": "medium",
  "rationale": "plays sound 'BaseCombatCharacter.AmmoPickup'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a92510",
  "name": "CBaseDMStart::IsTriggered",
  "confidence": "medium",
  "rationale": "'Master was null or not a master!'; deathmatch spawn master check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb370",
  "name": "CBaseDoor::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd4f200",
  "name": "CBaseEntity::ImpactTrace",
  "confidence": "medium",
  "rationale": "class+slot132; 'Impact'/'default' + UTIL_DispatchEffect (impact effect dispatch)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19abb60",
  "name": "CBaseEntity::InputDisable",
  "confidence": "medium",
  "rationale": "references 'Disable' input name; entity Disable input handler/registration",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19aba20",
  "name": "CBaseEntity::InputEnable",
  "confidence": "medium",
  "rationale": "references 'Enable' input name; entity Enable input handler/registration",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17d6890",
  "name": "CBaseEntity::InputSetParentAttachment",
  "confidence": "medium",
  "rationale": "input-name string 'SetParentAttachment'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17d6960",
  "name": "CBaseEntity::InputSetParentAttachmentMaintainOffset",
  "confidence": "medium",
  "rationale": "input-name string 'SetParentAttachmentMaintainOffset'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12f8d10",
  "name": "CBaseEntity::PhysicsCheckWaterTransition",
  "confidence": "medium",
  "rationale": "References BaseEntity.EnterWater sound, recurses over children, 644 callers, uses AbsVelocity",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb208c0",
  "name": "CBaseEntity::PhysicsPushRotate",
  "confidence": "medium",
  "rationale": "refs 'Pushing rotation hard!'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1955db0",
  "name": "CBaseEntity::UpdateWaterState",
  "confidence": "medium",
  "rationale": "emits 'BaseEntity.EnterWater'/'BaseEntity.ExitWater' sounds on water transition",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1626920",
  "name": "CBaseFilter::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "slot 237 is the shared BaseFilter core-test virtual (int=3: this,caller,entity)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927010",
  "name": "CBaseMoveBehavior::~CBaseMoveBehavior",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1887140",
  "name": "CBaseProp::ParsePropData",
  "confidence": "medium",
  "rationale": "'prop_data','fire_interactions','physgun_interactions','Item.Medium','base' KV parse",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd1d2a0",
  "name": "CBaseTrigger::~CBaseTrigger",
  "confidence": "medium",
  "rationale": "vtable slot 0 destructor convention",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17debb0",
  "name": "CBeam::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 appending 'start:'/'end :' (%.2f,%.2f,%.2f) debug overlay text.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17de350",
  "name": "CBeam::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 trivial datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f1f0",
  "name": "CBidirMsg_RebroadcastGameEvent::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12049f0",
  "name": "CBidirMsg_RebroadcastGameEvent::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218f60",
  "name": "CBidirMsg_RebroadcastGameEvent::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f230",
  "name": "CBidirMsg_RebroadcastSource::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12049e0",
  "name": "CBidirMsg_RebroadcastSource::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218ff0",
  "name": "CBidirMsg_RebroadcastSource::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1791b80",
  "name": "CBoneMergeCache::MergeMatchingBones",
  "confidence": "medium",
  "rationale": "'Bone merge bones from parent were invalid' log",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1863c30",
  "name": "CBreakable::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 appending 'Health: %i' / 'Base PropData: %s' debug overlay text.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb440",
  "name": "CBreakable::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf7bfa0",
  "name": "CBreakableProp::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 tiny int=0 constant-return virtual present on every entity class = per-class datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1459eb0",
  "name": "CC4::AbortBombPlant",
  "confidence": "medium",
  "rationale": "fires bomb_abortplant event (site/userid/priority)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x142e4d0",
  "name": "CC4::Holster",
  "confidence": "medium",
  "rationale": "weapon-hier slot365=Holster (Healthshot precedent)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203bf0",
  "name": "CCLCMsg_BaselineAck::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123edc0",
  "name": "CCLCMsg_BaselineAck::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ca0",
  "name": "CCLCMsg_BaselineAck::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216d60",
  "name": "CCLCMsg_BaselineAck::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f880",
  "name": "CCLCMsg_ClientInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204cd0",
  "name": "CCLCMsg_ClientInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216af0",
  "name": "CCLCMsg_ClientInfo::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123fd70",
  "name": "CCLCMsg_CmdKeyValues::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c20",
  "name": "CCLCMsg_CmdKeyValues::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217210",
  "name": "CCLCMsg_CmdKeyValues::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241600",
  "name": "CCLCMsg_HltvFixupOperatorTick::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204990",
  "name": "CCLCMsg_HltvFixupOperatorTick::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219480",
  "name": "CCLCMsg_HltvFixupOperatorTick::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204360",
  "name": "CCLCMsg_HltvReplay::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f2b0",
  "name": "CCLCMsg_HltvReplay::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12049b0",
  "name": "CCLCMsg_HltvReplay::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219350",
  "name": "CCLCMsg_HltvReplay::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12026e0",
  "name": "CCLCMsg_ListenEvents::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ee00",
  "name": "CCLCMsg_ListenEvents::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c90",
  "name": "CCLCMsg_ListenEvents::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203c40",
  "name": "CCLCMsg_LoadingProgress::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ee20",
  "name": "CCLCMsg_LoadingProgress::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c70",
  "name": "CCLCMsg_LoadingProgress::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216f30",
  "name": "CCLCMsg_LoadingProgress::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f9a0",
  "name": "CCLCMsg_Move::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204cc0",
  "name": "CCLCMsg_Move::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216b80",
  "name": "CCLCMsg_Move::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123eeb0",
  "name": "CCLCMsg_RequestPause::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c30",
  "name": "CCLCMsg_RequestPause::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217170",
  "name": "CCLCMsg_RequestPause::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123fbe0",
  "name": "CCLCMsg_RespondCvarValue::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c80",
  "name": "CCLCMsg_RespondCvarValue::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216ea0",
  "name": "CCLCMsg_RespondCvarValue::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ee80",
  "name": "CCLCMsg_ServerStatus::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c40",
  "name": "CCLCMsg_ServerStatus::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12170f0",
  "name": "CCLCMsg_ServerStatus::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123fc70",
  "name": "CCLCMsg_SplitPlayerConnect::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c60",
  "name": "CCLCMsg_SplitPlayerConnect::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216fd0",
  "name": "CCLCMsg_SplitPlayerConnect::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ee50",
  "name": "CCLCMsg_SplitPlayerDisconnect::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204c50",
  "name": "CCLCMsg_SplitPlayerDisconnect::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217060",
  "name": "CCLCMsg_SplitPlayerDisconnect::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12447e0",
  "name": "CCLCMsg_VoiceData::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204cb0",
  "name": "CCLCMsg_VoiceData::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216ce0",
  "name": "CCLCMsg_VoiceData::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc0e900",
  "name": "CCSBot::StopAttacking",
  "confidence": "medium",
  "rationale": "string 'ATTACK END' = attack-state teardown",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbf9ff0",
  "name": "CCSBot::UpdateGrenadeThrow",
  "confidence": "medium",
  "rationale": "'Grenade: FINISH_THROW/THROW COMPLETE/THROW FAILED' bot grenade throw state",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1bc1d00",
  "name": "CCSBotManager::ServerCommand",
  "confidence": "medium",
  "rationale": "calls CCSBotManager::BotAddCommand, so it dispatches the bot_add/console command in the bot manager",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb97fa0",
  "name": "CCSFunFactMgr::FireGameEvent",
  "confidence": "medium",
  "rationale": "fun-fact manager handling 'player_connect' event with 'userid'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x137dfb0",
  "name": "CCSGameRules::AddTeamAccount",
  "confidence": "medium",
  "rationale": "Warning names award-to-team with mp_teamcashawards = team money award method",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1331c10",
  "name": "CCSGameRules::BalanceTeams",
  "confidence": "medium",
  "rationale": "'#SFUI_Notice_Teams_Balanced' + SwitchSteam",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12eb8f0",
  "name": "CCSGameRules::ClientCommandKeyValues",
  "confidence": "medium",
  "rationale": "class set slot 41; CrosshairCode/disconnect/reason/InvalidSteamLogon -> process client command keyvalues",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1379ca0",
  "name": "CCSGameRules::EndWarmup",
  "confidence": "medium",
  "rationale": "'Warmup period ended' + fires warmup_end event and #SFUI_Notice_All_Players_Connected.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12eeb40",
  "name": "CCSGameRules::GetChatFormat",
  "confidence": "medium",
  "rationale": "chat format tokens Cstrike_Chat_All/CT/T/Spec/_Loc/_Dead",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1310f60",
  "name": "CCSGameRules::SetGamePhase",
  "confidence": "medium",
  "rationale": "Fires GamePhaseChanged event and touches GameTime_t network field",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1317950",
  "name": "CCSGameRules::StartCTTimeOut",
  "confidence": "medium",
  "rationale": "Same pause notices with field TimeOutCTs => CT timeout start.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13174b0",
  "name": "CCSGameRules::StartTerroristTimeOut",
  "confidence": "medium",
  "rationale": "'#SFUI_Notice_Match_Will_Pause' + field TimeOutTs => terrorist timeout start.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x16b3b70",
  "name": "CCSGameStats::IncrementStat",
  "confidence": "medium",
  "rationale": "log 'Incrementing %s by %f at pos (%d, %d, %d)'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14b0080",
  "name": "CCSPlayerInventory::SOUpdated",
  "confidence": "medium",
  "rationale": "slot 1 int=4 ISharedObjectListener SOUpdated",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08a0",
  "name": "CCSUsrMsg_AchievementEvent::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efa90",
  "name": "CCSUsrMsg_AchievementEvent::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86d0",
  "name": "CCSUsrMsg_AchievementEvent::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11353d0",
  "name": "CCSUsrMsg_AchievementEvent::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef9f0",
  "name": "CCSUsrMsg_AdjustMoney::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8680",
  "name": "CCSUsrMsg_AdjustMoney::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa07260",
  "name": "CCSUsrMsg_AdjustMoney::New",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 3, this+Arena arg -> New(Arena*) factory allocator",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0840",
  "name": "CCSUsrMsg_AmmoDenied::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efd30",
  "name": "CCSUsrMsg_AmmoDenied::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8820",
  "name": "CCSUsrMsg_AmmoDenied::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0850",
  "name": "CCSUsrMsg_BarTime::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efd10",
  "name": "CCSUsrMsg_BarTime::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8810",
  "name": "CCSUsrMsg_BarTime::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efbb0",
  "name": "CCSUsrMsg_CallVoteFailed::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8760",
  "name": "CCSUsrMsg_CallVoteFailed::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f07c0",
  "name": "CCSUsrMsg_ClientInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f00b0",
  "name": "CCSUsrMsg_ClientInfo::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89e0",
  "name": "CCSUsrMsg_ClientInfo::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f3570",
  "name": "CCSUsrMsg_CloseCaption::ByteSizeLong",
  "confidence": "medium",
  "rationale": "Protobuf msg vtable slot 8 (this-only) = ByteSizeLong.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0900",
  "name": "CCSUsrMsg_CloseCaption::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8550",
  "name": "CCSUsrMsg_CloseCaption::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134600",
  "name": "CCSUsrMsg_CloseCaption::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08f0",
  "name": "CCSUsrMsg_CloseCaptionDirect::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8560",
  "name": "CCSUsrMsg_CloseCaptionDirect::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134690",
  "name": "CCSUsrMsg_CloseCaptionDirect::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10effb0",
  "name": "CCSUsrMsg_CurrentRoundOdds::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8960",
  "name": "CCSUsrMsg_CurrentRoundOdds::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08b0",
  "name": "CCSUsrMsg_CurrentTimescale::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efa70",
  "name": "CCSUsrMsg_CurrentTimescale::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86c0",
  "name": "CCSUsrMsg_CurrentTimescale::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135340",
  "name": "CCSUsrMsg_CurrentTimescale::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bd420",
  "name": "CCSUsrMsg_Damage::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85b0",
  "name": "CCSUsrMsg_Damage::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa07440",
  "name": "CCSUsrMsg_Damage::New",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 3, this+Arena -> New(Arena*) factory allocator",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10effd0",
  "name": "CCSUsrMsg_DeepStats::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8970",
  "name": "CCSUsrMsg_DeepStats::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08c0",
  "name": "CCSUsrMsg_DesiredTimescale::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efa50",
  "name": "CCSUsrMsg_DesiredTimescale::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86b0",
  "name": "CCSUsrMsg_DesiredTimescale::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11352b0",
  "name": "CCSUsrMsg_DesiredTimescale::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0090",
  "name": "CCSUsrMsg_DisconnectToLobby::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89d0",
  "name": "CCSUsrMsg_DisconnectToLobby::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9490",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efeb0",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e88e0",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0710",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_Accolade::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efe70",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_Accolade::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e88c0",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_Accolade::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0720",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efe90",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e88d0",
  "name": "CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef9d0",
  "name": "CCSUsrMsg_EntityOutlineHighlight::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8670",
  "name": "CCSUsrMsg_EntityOutlineHighlight::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11be3a0",
  "name": "CCSUsrMsg_Fade::ByteSizeLong",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 8; const (int=1), recurses into submessage ByteSizeLong() and calls WireFormat size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11be1a0",
  "name": "CCSUsrMsg_Fade::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0920",
  "name": "CCSUsrMsg_Fade::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8530",
  "name": "CCSUsrMsg_Fade::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11344f0",
  "name": "CCSUsrMsg_Fade::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f07f0",
  "name": "CCSUsrMsg_GameTitle::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0030",
  "name": "CCSUsrMsg_GameTitle::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89a0",
  "name": "CCSUsrMsg_GameTitle::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0970",
  "name": "CCSUsrMsg_Geiger::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e84e0",
  "name": "CCSUsrMsg_Geiger::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134200",
  "name": "CCSUsrMsg_Geiger::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef890",
  "name": "CCSUsrMsg_HintText::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85d0",
  "name": "CCSUsrMsg_HintText::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11be210",
  "name": "CCSUsrMsg_HudMsg::ByteSizeLong",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 8; const (int=1), recurses into submessage ByteSizeLong() and calls WireFormat size helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11be0c0",
  "name": "CCSUsrMsg_HudMsg::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0940",
  "name": "CCSUsrMsg_HudMsg::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8510",
  "name": "CCSUsrMsg_HudMsg::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11343c0",
  "name": "CCSUsrMsg_HudMsg::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0950",
  "name": "CCSUsrMsg_HudText::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8500",
  "name": "CCSUsrMsg_HudText::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134330",
  "name": "CCSUsrMsg_HudText::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0810",
  "name": "CCSUsrMsg_ItemDrop::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efd90",
  "name": "CCSUsrMsg_ItemDrop::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8850",
  "name": "CCSUsrMsg_ItemDrop::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0870",
  "name": "CCSUsrMsg_ItemPickup::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efcd0",
  "name": "CCSUsrMsg_ItemPickup::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87f0",
  "name": "CCSUsrMsg_ItemPickup::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135d90",
  "name": "CCSUsrMsg_ItemPickup::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef8b0",
  "name": "CCSUsrMsg_KeyHintText::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85e0",
  "name": "CCSUsrMsg_KeyHintText::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efa30",
  "name": "CCSUsrMsg_KillCam::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86a0",
  "name": "CCSUsrMsg_KillCam::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0830",
  "name": "CCSUsrMsg_MarkAchievement::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efd50",
  "name": "CCSUsrMsg_MarkAchievement::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8830",
  "name": "CCSUsrMsg_MarkAchievement::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efab0",
  "name": "CCSUsrMsg_MatchEndConditions::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86e0",
  "name": "CCSUsrMsg_MatchEndConditions::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0820",
  "name": "CCSUsrMsg_MatchStatsUpdate::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efd70",
  "name": "CCSUsrMsg_MatchStatsUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8840",
  "name": "CCSUsrMsg_MatchStatsUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efb50",
  "name": "CCSUsrMsg_PlayerDecalDigitalSignature::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8730",
  "name": "CCSUsrMsg_PlayerDecalDigitalSignature::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efaf0",
  "name": "CCSUsrMsg_PlayerStatsUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8700",
  "name": "CCSUsrMsg_PlayerStatsUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06b0",
  "name": "CCSUsrMsg_PlayerStatsUpdate_Stat::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efad0",
  "name": "CCSUsrMsg_PlayerStatsUpdate_Stat::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e86f0",
  "name": "CCSUsrMsg_PlayerStatsUpdate_Stat::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11354e0",
  "name": "CCSUsrMsg_PlayerStatsUpdate_Stat::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef8f0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8600",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xa07610",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate::New",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 3, this+Arena -> New(Arena*) factory allocator",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06a0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef8d0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85f0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134bf0",
  "name": "CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efb10",
  "name": "CCSUsrMsg_QuestProgress::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8710",
  "name": "CCSUsrMsg_QuestProgress::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85c0",
  "name": "CCSUsrMsg_RadioText::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8580",
  "name": "CCSUsrMsg_RawAudio::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08d0",
  "name": "CCSUsrMsg_ReloadEffect::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef950",
  "name": "CCSUsrMsg_ReloadEffect::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8630",
  "name": "CCSUsrMsg_ReloadEffect::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134e60",
  "name": "CCSUsrMsg_ReloadEffect::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efa10",
  "name": "CCSUsrMsg_ReportHit::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8690",
  "name": "CCSUsrMsg_ReportHit::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f07e0",
  "name": "CCSUsrMsg_RequestState::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0050",
  "name": "CCSUsrMsg_RequestState::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89b0",
  "name": "CCSUsrMsg_RequestState::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0800",
  "name": "CCSUsrMsg_ResetHud::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0010",
  "name": "CCSUsrMsg_ResetHud::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8990",
  "name": "CCSUsrMsg_ResetHud::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efdb0",
  "name": "CCSUsrMsg_RoundBackupFilenames::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8860",
  "name": "CCSUsrMsg_RoundBackupFilenames::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0910",
  "name": "CCSUsrMsg_Rumble::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8540",
  "name": "CCSUsrMsg_Rumble::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134580",
  "name": "CCSUsrMsg_Rumble::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efdd0",
  "name": "CCSUsrMsg_SSUI::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8870",
  "name": "CCSUsrMsg_SSUI::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efb30",
  "name": "CCSUsrMsg_ScoreLeaderboardData::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8720",
  "name": "CCSUsrMsg_ScoreLeaderboardData::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8570",
  "name": "CCSUsrMsg_SendAudio::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efc50",
  "name": "CCSUsrMsg_SendLastKillerDamageToClient::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87b0",
  "name": "CCSUsrMsg_SendLastKillerDamageToClient::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef910",
  "name": "CCSUsrMsg_SendPlayerItemDrops::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8610",
  "name": "CCSUsrMsg_SendPlayerItemDrops::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef930",
  "name": "CCSUsrMsg_SendPlayerItemFound::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8620",
  "name": "CCSUsrMsg_SendPlayerItemFound::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa170",
  "name": "CCSUsrMsg_ServerRankRevealAll::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f00d0",
  "name": "CCSUsrMsg_ServerRankRevealAll::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89f0",
  "name": "CCSUsrMsg_ServerRankRevealAll::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efc90",
  "name": "CCSUsrMsg_ServerRankUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87d0",
  "name": "CCSUsrMsg_ServerRankUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06c0",
  "name": "CCSUsrMsg_ServerRankUpdate_RankUpdate::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efc70",
  "name": "CCSUsrMsg_ServerRankUpdate_RankUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87c0",
  "name": "CCSUsrMsg_ServerRankUpdate_RankUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135be0",
  "name": "CCSUsrMsg_ServerRankUpdate_RankUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0930",
  "name": "CCSUsrMsg_Shake::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8520",
  "name": "CCSUsrMsg_Shake::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134460",
  "name": "CCSUsrMsg_Shake::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f38e0",
  "name": "CCSUsrMsg_ShowMenu::ByteSizeLong",
  "confidence": "medium",
  "rationale": "Protobuf msg vtable slot 8 (this-only) = ByteSizeLong.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0860",
  "name": "CCSUsrMsg_ShowMenu::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efcf0",
  "name": "CCSUsrMsg_ShowMenu::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8800",
  "name": "CCSUsrMsg_ShowMenu::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135e20",
  "name": "CCSUsrMsg_ShowMenu::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f07d0",
  "name": "CCSUsrMsg_StopSpectatorMode::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0070",
  "name": "CCSUsrMsg_StopSpectatorMode::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e89c0",
  "name": "CCSUsrMsg_StopSpectatorMode::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efe50",
  "name": "CCSUsrMsg_SurvivalStats::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e88b0",
  "name": "CCSUsrMsg_SurvivalStats::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0700",
  "name": "CCSUsrMsg_SurvivalStats_Damage::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efe30",
  "name": "CCSUsrMsg_SurvivalStats_Damage::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e88a0",
  "name": "CCSUsrMsg_SurvivalStats_Damage::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06e0",
  "name": "CCSUsrMsg_SurvivalStats_Fact::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efdf0",
  "name": "CCSUsrMsg_SurvivalStats_Fact::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8880",
  "name": "CCSUsrMsg_SurvivalStats_Fact::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06f0",
  "name": "CCSUsrMsg_SurvivalStats_Placement::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efe10",
  "name": "CCSUsrMsg_SurvivalStats_Placement::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8890",
  "name": "CCSUsrMsg_SurvivalStats_Placement::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0960",
  "name": "CCSUsrMsg_Train::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e84f0",
  "name": "CCSUsrMsg_Train::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134290",
  "name": "CCSUsrMsg_Train::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef9b0",
  "name": "CCSUsrMsg_UpdateScreenHealthBar::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8660",
  "name": "CCSUsrMsg_UpdateScreenHealthBar::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e84d0",
  "name": "CCSUsrMsg_VGUIMenu::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f7bc0",
  "name": "CCSUsrMsg_VoiceMask::ByteSizeLong",
  "confidence": "medium",
  "rationale": "Slot 8 with field-size helper sub_0x1ceb9cc = ByteSizeLong.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f08e0",
  "name": "CCSUsrMsg_VoiceMask::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e85a0",
  "name": "CCSUsrMsg_VoiceMask::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11348d0",
  "name": "CCSUsrMsg_VoiceMask::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0690",
  "name": "CCSUsrMsg_VoiceMask_PlayerMask::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8590",
  "name": "CCSUsrMsg_VoiceMask_PlayerMask::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1134820",
  "name": "CCSUsrMsg_VoiceMask_PlayerMask::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efc10",
  "name": "CCSUsrMsg_VoteFailed::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8790",
  "name": "CCSUsrMsg_VoteFailed::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efbf0",
  "name": "CCSUsrMsg_VotePass::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8780",
  "name": "CCSUsrMsg_VotePass::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efc30",
  "name": "CCSUsrMsg_VoteSetup::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87a0",
  "name": "CCSUsrMsg_VoteSetup::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efbd0",
  "name": "CCSUsrMsg_VoteStart::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8770",
  "name": "CCSUsrMsg_VoteStart::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10ef970",
  "name": "CCSUsrMsg_WeaponSound::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8640",
  "name": "CCSUsrMsg_WeaponSound::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0890",
  "name": "CCSUsrMsg_XRankGet::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efb70",
  "name": "CCSUsrMsg_XRankGet::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8740",
  "name": "CCSUsrMsg_XRankGet::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135770",
  "name": "CCSUsrMsg_XRankGet::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0880",
  "name": "CCSUsrMsg_XRankUpd::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efb90",
  "name": "CCSUsrMsg_XRankUpd::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e8750",
  "name": "CCSUsrMsg_XRankUpd::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1135800",
  "name": "CCSUsrMsg_XRankUpd::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10efcb0",
  "name": "CCSUsrMsg_XpUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "slot16 protobuf-Message vtable leaf returning static Metadata (2 ptrs in rax:rdx), ignores this -> int=0 float=0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e87e0",
  "name": "CCSUsrMsg_XpUpdate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xacf690",
  "name": "CCallbackImpl<16>::GetCallbackSizeBytes",
  "confidence": "medium",
  "rationale": "Steam CCallbackImpl slot2 returns sizeof(param)=16",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xacf660",
  "name": "CCallbackImpl<1>::GetCallbackSizeBytes",
  "confidence": "medium",
  "rationale": "Steam CCallbackImpl slot2 returns sizeof(param)=1",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c2fa50",
  "name": "CCallbackImpl<24>::GetCallbackSizeBytes",
  "confidence": "medium",
  "rationale": "slot2 int=0 returns constant 24 = template size param -> GetCallbackSizeBytes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x227be40",
  "name": "CCallbackImpl<4>::GetCallbackSizeBytes",
  "confidence": "medium",
  "rationale": "CCallbackImpl<4> slot 2, int=0 returns constant 4",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x227be30",
  "name": "CCallbackImpl<4>::Run",
  "confidence": "medium",
  "rationale": "CCallbackImpl<4> slot 1 = Run(pvParam,bIOFailure,hCall)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x227be00",
  "name": "CCallbackImpl<8>::GetCallbackSizeBytes",
  "confidence": "medium",
  "rationale": "CCallbackImpl<8> slot 2, int=0 returns constant 8",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aada10",
  "name": "CChangeLevel::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aae1b0",
  "name": "CChangeLevel::InTransitionVolume",
  "confidence": "medium",
  "rationale": "'trigger_transition' classname + CGameEntitySystem::FindEntityByName",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb91a10",
  "name": "CChangeLevelIssue::CanCallVote",
  "confidence": "medium",
  "rationale": "issue slot 13 int=5 matches CanCallVote(iEnt,cmd,details,failcode&,time&) signature",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xca10e0",
  "name": "CChicken::FireGameEvent",
  "confidence": "medium",
  "rationale": "chicken reacting to weapon-fire event ('silenced'/'userid' fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xca13d0",
  "name": "CChicken::Fly",
  "confidence": "medium",
  "rationale": "Sound event string 'Chicken.Fly' emitted (calls EmitSound helper sub_0x1a487e0)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f910",
  "name": "CClientHeaderOverwatchEvidence::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf7c290",
  "name": "CColorCorrection::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity virtual",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1826d90",
  "name": "CColorCorrectionSystem::FireGameEvent",
  "confidence": "medium",
  "rationale": "slot 3 game-system handler for 'round_start' event",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1849fb0",
  "name": "CCommentarySystem::InitCommentary",
  "confidence": "medium",
  "rationale": "class slot12 '_commentary','commentary_semaphore' + FindEntityByName/Remove",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1823380",
  "name": "CCommentary_SaveRestoreBlockHandler::GetBlockName",
  "confidence": "medium",
  "rationale": "save/restore block handler slot 0 returns block name 'Commentary'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927270",
  "name": "CConstraintAnchor::~CConstraintAnchor",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aae60",
  "name": "CDataGCCStrike15_v2_MatchInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f05a0",
  "name": "CDataGCCStrike15_v2_MatchInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11301d0",
  "name": "CDataGCCStrike15_v2_MatchInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0580",
  "name": "CDataGCCStrike15_v2_TournamentGroup::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11303d0",
  "name": "CDataGCCStrike15_v2_TournamentGroup::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0560",
  "name": "CDataGCCStrike15_v2_TournamentGroupTeam::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130260",
  "name": "CDataGCCStrike15_v2_TournamentGroupTeam::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0570",
  "name": "CDataGCCStrike15_v2_TournamentGroup_Picks::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130300",
  "name": "CDataGCCStrike15_v2_TournamentGroup_Picks::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9e90",
  "name": "CDataGCCStrike15_v2_TournamentInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f05b0",
  "name": "CDataGCCStrike15_v2_TournamentInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130550",
  "name": "CDataGCCStrike15_v2_TournamentInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0390",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112df00",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0380",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft_Entry::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112de40",
  "name": "CDataGCCStrike15_v2_TournamentMatchDraft_Entry::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0590",
  "name": "CDataGCCStrike15_v2_TournamentSection::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11304a0",
  "name": "CDataGCCStrike15_v2_TournamentSection::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13f17e0",
  "name": "CDecoyProjectile::BounceSound",
  "confidence": "medium",
  "rationale": "slot309 plays 'Flashbang.Bounce' via EmitSound",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x184d460",
  "name": "CDynamicLight::KeyValue",
  "confidence": "medium",
  "rationale": "Parses pitch/_light/spawnflags + 'light_dynamic ... invalid exponent' warning.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb3b0",
  "name": "CDynamicProp::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1adac60",
  "name": "CEconItemAttributeDefinition::GetDefinitionIndex",
  "confidence": "medium",
  "rationale": "slot 0 with 22 direct callers = hot getter (not a destructor)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0540",
  "name": "CEconItemPreviewDataBlock::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fc40",
  "name": "CEconItemPreviewDataBlock::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0530",
  "name": "CEconItemPreviewDataBlock_Sticker::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fb80",
  "name": "CEconItemPreviewDataBlock_Sticker::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b386a0",
  "name": "CEconItemSchema::BInitAchievementRewards",
  "confidence": "medium",
  "rationale": "'Achievement reward %s has no items!'/'Complex achievement %s must have an Items key or a DefIndex'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b146c0",
  "name": "CEconItemSchema::BInitAttributes",
  "confidence": "medium",
  "rationale": "strings about duplicate/invalid attribute definition index",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b3e920",
  "name": "CEconItemSchema::BInitItemLevels",
  "confidence": "medium",
  "rationale": "Duplicate leveling data block named + rank_name/score",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1af9110",
  "name": "CEconItemSchema::BInitQualities",
  "confidence": "medium",
  "rationale": "'Quality definition %s: Missing required field \"value\"' parsing hexColor/weight quality defs",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b269e0",
  "name": "CEconItemSchema::BInitQuestRewardLootLists",
  "confidence": "medium",
  "rationale": "'Quest reward lootlist %d ... already exists' schema init.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b26cc0",
  "name": "CEconItemSchema::BInitRevolvingLootLists",
  "confidence": "medium",
  "rationale": "'Revolving lootlist %d ... already exists' schema init.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b40a20",
  "name": "CEconItemSchema::BInitSchema",
  "confidence": "medium",
  "rationale": "'Required key \"attributes/qualities/rarities/items\" missing' top-level schema init.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b3a7c0",
  "name": "CEconItemSchema::BInitStickerKits",
  "confidence": "medium",
  "rationale": "'Duplicate sticker kit ID %d'/'Failed to initialize sticker kit ID %d' inserting sticker kits",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ae8be0",
  "name": "CEconItemView::GetCustomDesc",
  "confidence": "medium",
  "rationale": "Looks up attribute def 'custom desc attr'.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1adac00",
  "name": "CEconLootListDefinition::~CEconLootListDefinition",
  "confidence": "medium",
  "rationale": "vtable slot 1 = deleting destructor pattern; no strings",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c0850",
  "name": "CEngineGotvSyncPacket::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot 8: int=1 const, size varies with field count and same-slot recursion pattern = protobuf ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bff30",
  "name": "CEngineGotvSyncPacket::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d1c20",
  "name": "CEngineGotvSyncPacket::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1685a20",
  "name": "CEntityDataInstantiator<CWatcherList>::DestroyDataObject",
  "confidence": "medium",
  "rationale": "instantiator slot 2 calls per-type destructor helper sub_0x16826a0 = destroy object",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1685ab0",
  "name": "CEntityDataInstantiator<groundlink_t>::DestroyDataObject",
  "confidence": "medium",
  "rationale": "instantiator slot 2 calls per-type destructor helper sub_0x16825a0 = destroy object",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1685990",
  "name": "CEntityDataInstantiator<physicspushlist_t>::DestroyDataObject",
  "confidence": "medium",
  "rationale": "instantiator slot 2 calls per-type destructor helper sub_0x16827a0 = destroy object",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb3d0",
  "name": "CEntityDissolve::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffc5d0",
  "name": "CEntityDissolve::SetDissolveType",
  "confidence": "medium",
  "rationale": "references think-context names 'CEntityDissolveDissolveThink'/'CEntityDissolveElectrocuteThink' to pick which think to run",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb3e0",
  "name": "CEntityFlame::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x210c4f0",
  "name": "CEntityKeyValues::AddConnectionDesc",
  "confidence": "medium",
  "rationale": "single-arg wrapper directly calling CEntityKeyValues::AddConnectionDesc; registers an entity IO connection descriptor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0x1862e70",
  "name": "CEnvExplosion::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 indented debug text '    magnitude: %i'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1862c80",
  "name": "CEnvFade::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 appending 'duration: %f' / 'hold time: %f' debug overlay text.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f6690",
  "name": "CEnvGlobal::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "'State: %s'/'Value: ON/OFF/DEAD' overlay lines; class CEnvGlobal slot 21 (DrawDebugTextOverlays).",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb400",
  "name": "CEnvLaser::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1862d10",
  "name": "CEnvShake::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "'duration/frequency/magnitude/radius: %f' overlay text lines; class CEnvShake slot 21 (DrawDebugTextOverlays).",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1862de0",
  "name": "CEnvTilt::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 appending 'duration: %f' / 'radius: %f' debug overlay text.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1628f20",
  "name": "CFilterClass::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "slot 237 filter core-test virtual (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1629d40",
  "name": "CFilterContext::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "slot 237 filter core-test virtual (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x164a7a0",
  "name": "CFilterEnemy::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "filter slot 237 predicate; '!player' assert",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x162a040",
  "name": "CFilterMassGreater::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "slot 237 filter core-test virtual (int=3 float=1, mass compare)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x162d160",
  "name": "CFilterModel::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "CBaseFilter extended slot 237 = PassesFilterImpl, int=3 (this,caller,entity)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x162ff10",
  "name": "CFilterMultiple::PassesDamageFilterImpl",
  "confidence": "medium",
  "rationale": "CBaseFilter extended slot 238 = PassesDamageFilterImpl",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x162fdb0",
  "name": "CFilterMultiple::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "CBaseFilter extended slot 237 = PassesFilterImpl, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x162a090",
  "name": "CFilterName::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "CBaseFilter-derived slot 237 filter predicate; '!player' assert",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb420",
  "name": "CFish::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1898450",
  "name": "CFishPool::FireGameEvent",
  "confidence": "medium",
  "rationale": "slot 237 listening for 'player_footstep' (userid) to scare fish.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb430",
  "name": "CFishPool::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1497dd0",
  "name": "CFlashbang::EmitGrenade",
  "confidence": "medium",
  "rationale": "slot 449 overridden by all grenade weapons (molotov/flash/he/smoke) = projectile spawn",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a7ba90",
  "name": "CFlexSceneFileManager::FindSceneFile",
  "confidence": "medium",
  "rationale": "Loads 'expressions/%s.vfe' from GAME path; class CFlexSceneFileManager slot 67.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcc3d0",
  "name": "CFogController::~CFogController",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = destructor stub",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbb29a0",
  "name": "CFunFact_GenericEvalFunction::Evaluate",
  "confidence": "medium",
  "rationale": "funfact eval vtable slot 2; generic evaluation entry",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbb2aa0",
  "name": "CFunFact_StatSum::Evaluate",
  "confidence": "medium",
  "rationale": "funfact eval vtable slot 2; sums a player stat",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1941c80",
  "name": "CFuncBrush::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 returns static datamap ptr (no this)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb450",
  "name": "CFuncMoveLinear::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1884bc0",
  "name": "CFuncRotating::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot 21 debug overlay 'Speed cur (target): %3.2f (%3.2f)'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb4b0",
  "name": "CFuncRotating::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1884030",
  "name": "CFuncRotating::KeyValue",
  "confidence": "medium",
  "rationale": "slot 14 int=3 (this,key,value), KeyValue override for rotating params via string helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aa7640",
  "name": "CFuncTrackTrain::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aa9c90",
  "name": "CFuncTrackTrain::NearestPath",
  "confidence": "medium",
  "rationale": "'Can't find a nearby track' / 'TRAIN: %s, Nearest track is %s' + path_track lookup.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xaccf10",
  "name": "CGCClientJobServerWelcome::BYieldingRunJobFromMsg",
  "confidence": "medium",
  "rationale": "GC job slot 3 logs 'GC Connection established for server version %d'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f01b0",
  "name": "CGCStorePurchaseInit_LineItem::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128a90",
  "name": "CGCStorePurchaseInit_LineItem::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 (this,arena), alloc/ctor callees sub_0x9e60c0/sub_0x1c72a60 = MessageLite New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe30",
  "name": "CGCToGCMsgMasterAck::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3b20",
  "name": "CGCToGCMsgMasterAck::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe20",
  "name": "CGCToGCMsgMasterAck_Response::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3bb0",
  "name": "CGCToGCMsgMasterAck_Response::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3c30",
  "name": "CGCToGCMsgMasterStartupComplete::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe10",
  "name": "CGCToGCMsgRouted::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3cb0",
  "name": "CGCToGCMsgRouted::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe00",
  "name": "CGCToGCMsgRoutedReply::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3d40",
  "name": "CGCToGCMsgRoutedReply::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167fdf0",
  "name": "CGameEvent::GetFloat",
  "confidence": "medium",
  "rationale": "IGameEvent getter slot 9, distinct float reader sub_0x1c63c20, canonical order",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167fd90",
  "name": "CGameEvent::GetInt",
  "confidence": "medium",
  "rationale": "IGameEvent getter slot 7, int=3 (key+default), reader helper sub_0x1c63b00 matches GetInt",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167fe50",
  "name": "CGameEvent::GetPtr",
  "confidence": "medium",
  "rationale": "IGameEvent getter slot 11, int=2 (key only) matches GetPtr, reader sub_0x1c63e60",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167fdc0",
  "name": "CGameEvent::GetUint64",
  "confidence": "medium",
  "rationale": "IGameEvent getter slot 8, int-family reader sub_0x1c63980, canonical order after GetInt",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1914a30",
  "name": "CGamePlayerEquip::KeyValue",
  "confidence": "medium",
  "rationale": "parses 'weapon%d' keys via CEntityKeyValues::FindKeyValues; slot 8 = KeyValue",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18fdf60",
  "name": "CGameText::KeyValue",
  "confidence": "medium",
  "rationale": "class slot10 reads 'color'/'color2' keyvalues + SetMoveType/Spawn",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1497e20",
  "name": "CHEGrenade::EmitGrenade",
  "confidence": "medium",
  "rationale": "slot 449 grenade-common projectile spawn override",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc98b10",
  "name": "CInfernoLOSTraceFilter::ShouldHitEntity",
  "confidence": "medium",
  "rationale": "trace filter slot 2 int=2 (this,entity) = ShouldHitEntity, calls sub_0x9e62f0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcc440",
  "name": "CInfoTarget::~CInfoTarget",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = destructor stub",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2289ad0",
  "name": "CJobMgr::BRouteMsgToJob",
  "confidence": "medium",
  "rationale": "String 'Encountered message for job %s ... invalid context ... Dropping the message.'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1948d00",
  "name": "CKeepUpright::Simulate",
  "confidence": "medium",
  "rationale": "IMotionEvent slot 237 int=3 float=2 Simulate signature",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19271a0",
  "name": "CKeepUpright::~CKeepUpright",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14a54a0",
  "name": "CKnife::PrimaryAttack",
  "confidence": "medium",
  "rationale": "slot 419 calls swing helper sub_0x14a2360, paired with slot 420",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x14a54b0",
  "name": "CKnife::SecondaryAttack",
  "confidence": "medium",
  "rationale": "slot 420 calls same swing helper sub_0x14a2360 as slot 419",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1904f70",
  "name": "CLogicAchievement::InputFireEvent",
  "confidence": "medium",
  "rationale": "'ACHIEVEMENT_EVENT_' prefix + CEntityIOOutput::FireOutput",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f35c0",
  "name": "CLogicActiveAutosave::~CLogicActiveAutosave",
  "confidence": "medium",
  "rationale": "slot 0 trivial destructor, single caller",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1911aa0",
  "name": "CLogicAutosave::InputSave",
  "confidence": "medium",
  "rationale": "'autosave' + DispatchDatamapFunction = autosave input",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f3550",
  "name": "CLogicAutosave::~CLogicAutosave",
  "confidence": "medium",
  "rationale": "slot 0 trivial destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19056e0",
  "name": "CLogicCase::InputPickRandomShuffle",
  "confidence": "medium",
  "rationale": "'Firing PickRandom input on logic_case' variant, second occurrence",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f3640",
  "name": "CLogicCollisionPair::~CLogicCollisionPair",
  "confidence": "medium",
  "rationale": "slot 0 trivial destructor, single caller",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb9c4f0",
  "name": "CLogicEventListener::FireGameEvent",
  "confidence": "medium",
  "rationale": "logic entity slot 237 event handler reading 'userid'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1907610",
  "name": "CLogicMeasureMovement::InputSetMeasureReference",
  "confidence": "medium",
  "rationale": "string 'logic_measure_movement: Unable to find measure reference entity %s' + FindEntityByName",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1907860",
  "name": "CLogicMeasureMovement::InputSetTarget",
  "confidence": "medium",
  "rationale": "string 'logic_measure_movement: Unable to find movement target entity %s' + FindEntityByName",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1907ab0",
  "name": "CLogicMeasureMovement::InputSetTargetReference",
  "confidence": "medium",
  "rationale": "string 'logic_measure_movement: Unable to find movement reference entity %s' + FindEntityByName",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f2e70",
  "name": "CLogicMeasureMovement::~CLogicMeasureMovement",
  "confidence": "medium",
  "rationale": "slot 0 trivial destructor, single caller",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f2ec0",
  "name": "CLogicNavigation::~CLogicNavigation",
  "confidence": "medium",
  "rationale": "slot 0 trivial destructor, single caller",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb95000",
  "name": "CMapInfo::KeyValue",
  "confidence": "medium",
  "rationale": "class slot10 reads 'bombradius'/'buying' keyvalues + FindKeyValues",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x170ce00",
  "name": "CMapLoadEntityFilter::ShouldCreateEntity",
  "confidence": "medium",
  "rationale": "MapLoad filter slot 2 reading 'classname' via CEntityKeyValues::FindKeyValues.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x18f6790",
  "name": "CMathCounter::DrawDebugTextOverlays",
  "confidence": "medium",
  "rationale": "slot21 debug text ('current value: %f','min/max value','Enabled.','*DISABLED*')",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xffb410",
  "name": "CMessage::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity datadesc accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1497ee0",
  "name": "CMolotovGrenade::EmitGrenade",
  "confidence": "medium",
  "rationale": "slot 449 grenade-common projectile spawn override",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13f25f0",
  "name": "CMolotovProjectile::BounceSound",
  "confidence": "medium",
  "rationale": "Molotov projectile slot 309 selecting IncGrenade.Bounce/Molotov.Bounce sounds.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x17e17f0",
  "name": "CMomentaryRotButton::InputSetPosition",
  "confidence": "medium",
  "rationale": "'SetPosition' + _Enable/_DisableUpdateTarget strings; class/slot CMomentaryRotButton.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe60",
  "name": "CMsgAccountDetails::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3960",
  "name": "CMsgAccountDetails::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11298f0",
  "name": "CMsgApplyEggEssence::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129850",
  "name": "CMsgApplyPennantUpgrade::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129710",
  "name": "CMsgApplyStatTrakSwap::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11295e0",
  "name": "CMsgApplySticker::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11297b0",
  "name": "CMsgApplyStrangePart::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130c80",
  "name": "CMsgCStrike15Welcome::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfdc0",
  "name": "CMsgClientHello::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c27c0",
  "name": "CMsgClientHello::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4040",
  "name": "CMsgClientHello::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11f95f0",
  "name": "CMsgClientWelcome::Clear",
  "confidence": "medium",
  "rationale": "slot4=Clear; recurses into nested CMsgSOCacheSubscribed::Clear (sub_0x11f9500)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfda0",
  "name": "CMsgClientWelcome::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2820",
  "name": "CMsgClientWelcome::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4250",
  "name": "CMsgClientWelcome::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfd90",
  "name": "CMsgConnectionStatus::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2840",
  "name": "CMsgConnectionStatus::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d42e0",
  "name": "CMsgConnectionStatus::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a090",
  "name": "CMsgConsumableExhausted::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11294d0",
  "name": "CMsgDevNewItemRequest::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0220",
  "name": "CMsgGCBannedWord::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ad00",
  "name": "CMsgGCBannedWord::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ab50",
  "name": "CMsgGCBannedWordListRequest::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0230",
  "name": "CMsgGCBannedWordListResponse::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112adb0",
  "name": "CMsgGCBannedWordListResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0780",
  "name": "CMsgGCCStrike15_ClientDeepStats::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f2c0",
  "name": "CMsgGCCStrike15_ClientDeepStats::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f04c0",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f210",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f04b0",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsRange::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f160",
  "name": "CMsgGCCStrike15_ClientDeepStats_DeepStatsRange::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e6c0",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0480",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings_Setting::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e610",
  "name": "CMsgGCCStrike15_v2_AccountPrivacySettings_Setting::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c60",
  "name": "CMsgGCCStrike15_v2_AcknowledgePenalty::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131d70",
  "name": "CMsgGCCStrike15_v2_AcknowledgePenalty::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fde0",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fe60",
  "name": "CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c70",
  "name": "CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131e00",
  "name": "CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c80",
  "name": "CMsgGCCStrike15_v2_Client2GCStreamUnlock::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131ea0",
  "name": "CMsgGCCStrike15_v2_Client2GCStreamUnlock::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fa60",
  "name": "CMsgGCCStrike15_v2_Client2GCTextMsg::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9510",
  "name": "CMsgGCCStrike15_v2_ClientCommendPlayer::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ea60",
  "name": "CMsgGCCStrike15_v2_ClientCommendPlayer::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e9d0",
  "name": "CMsgGCCStrike15_v2_ClientReportPlayer::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112eba0",
  "name": "CMsgGCCStrike15_v2_ClientReportResponse::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112eb00",
  "name": "CMsgGCCStrike15_v2_ClientReportServer::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa6a0",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinFriendData::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112eda0",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinFriendData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa730",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinServerData::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ee30",
  "name": "CMsgGCCStrike15_v2_ClientRequestJoinServerData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f420",
  "name": "CMsgGCCStrike15_v2_ClientRequestPlayersProfile::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ec60",
  "name": "CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131030",
  "name": "CMsgGCCStrike15_v2_ClientSubmitSurveyVote::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7ca0",
  "name": "CMsgGCCStrike15_v2_ClientToGCChat::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131fc0",
  "name": "CMsgGCCStrike15_v2_ClientToGCChat::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c90",
  "name": "CMsgGCCStrike15_v2_ClientToGCRequestElevate::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131f30",
  "name": "CMsgGCCStrike15_v2_ClientToGCRequestElevate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130d60",
  "name": "CMsgGCCStrike15_v2_ClientVarValueNotificationInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130a00",
  "name": "CMsgGCCStrike15_v2_Fantasy::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f05d0",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasySlot::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11308a0",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasySlot::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f05e0",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasyTeam::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130950",
  "name": "CMsgGCCStrike15_v2_Fantasy_FantasyTeam::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f9a0",
  "name": "CMsgGCCStrike15_v2_GC2ClientTextMsg::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131160",
  "name": "CMsgGCCStrike15_v2_GC2ClientTournamentInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112da20",
  "name": "CMsgGCCStrike15_v2_GC2ServerReservationUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7cb0",
  "name": "CMsgGCCStrike15_v2_GCToClientChat::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1132050",
  "name": "CMsgGCCStrike15_v2_GCToClientChat::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130e80",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardRequest::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130fb0",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0600",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse_GiftLeaderboardEntry::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130f00",
  "name": "CMsgGCCStrike15_v2_GiftsLeaderboardResponse_GiftLeaderboardEntry::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fcc0",
  "name": "CMsgGCCStrike15_v2_MatchEndRewardDropsNotification::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa2d0",
  "name": "CMsgGCCStrike15_v2_MatchEndRunRewardDrops::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fb00",
  "name": "CMsgGCCStrike15_v2_MatchEndRunRewardDrops::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11ab1f0",
  "name": "CMsgGCCStrike15_v2_MatchList::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130610",
  "name": "CMsgGCCStrike15_v2_MatchList::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fee0",
  "name": "CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130120",
  "name": "CMsgGCCStrike15_v2_MatchListRequestFullGameInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ff70",
  "name": "CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130000",
  "name": "CMsgGCCStrike15_v2_MatchListRequestRecentUserGames::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130090",
  "name": "CMsgGCCStrike15_v2_MatchListRequestTournamentGames::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e4e0",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2GCHello::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112dcc0",
  "name": "CMsgGCCStrike15_v2_MatchmakingClient2ServerPing::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa630",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e750",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11ab360",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientHello::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f04e0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientHello::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e590",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientHello::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa520",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0440",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e2b0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aaca0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ddc0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0350",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate_Note::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112dc00",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate_Note::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0420",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d9a0",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9f50",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0400",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e140",
  "name": "CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e8a0",
  "name": "CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa1c0",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerReservationResponse::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0510",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerReservationResponse::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e200",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerReservationResponse::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa340",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0550",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e460",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0430",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats_DropInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e340",
  "name": "CMsgGCCStrike15_v2_MatchmakingServerRoundStats_DropInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112dad0",
  "name": "CMsgGCCStrike15_v2_MatchmakingStart::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112db60",
  "name": "CMsgGCCStrike15_v2_MatchmakingStop::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f7d0",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f870",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f740",
  "name": "CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11ab5f0",
  "name": "CMsgGCCStrike15_v2_PlayersProfile::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f4d0",
  "name": "CMsgGCCStrike15_v2_PlayersProfile::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130800",
  "name": "CMsgGCCStrike15_v2_Predictions::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f05c0",
  "name": "CMsgGCCStrike15_v2_Predictions_GroupMatchTeamPick::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130750",
  "name": "CMsgGCCStrike15_v2_Predictions_GroupMatchTeamPick::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11310c0",
  "name": "CMsgGCCStrike15_v2_Server2GCClientValidate::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e930",
  "name": "CMsgGCCStrike15_v2_ServerNotificationForUserPenalty::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1130e00",
  "name": "CMsgGCCStrike15_v2_ServerVarValueNotificationInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11aa7c0",
  "name": "CMsgGCCStrike15_v2_WatchInfoUsers::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f380",
  "name": "CMsgGCCStrike15_v2_WatchInfoUsers::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a520",
  "name": "CMsgGCClientDisplayNotification::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b480",
  "name": "CMsgGCClientVersionUpdated::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b090",
  "name": "CMsgGCCollectItem::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f06d0",
  "name": "CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112f030",
  "name": "CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129e30",
  "name": "CMsgGCError::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bff80",
  "name": "CMsgGCGiftedItems::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d1930",
  "name": "CMsgGCGiftedItems::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a640",
  "name": "CMsgGCIncrementKillCountResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a8b0",
  "name": "CMsgGCItemPreviewItemBoughtNotification::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe50",
  "name": "CMsgGCMultiplexMessage::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3a10",
  "name": "CMsgGCMultiplexMessage::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a410",
  "name": "CMsgGCNameItemNotification::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; string-field ctor calls string op sub_0x1c8b496 = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a310",
  "name": "CMsgGCReportAbuse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a390",
  "name": "CMsgGCReportAbuseResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112abd0",
  "name": "CMsgGCRequestAnnouncements::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ac70",
  "name": "CMsgGCRequestAnnouncementsResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b3f0",
  "name": "CMsgGCServerVersionUpdated::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a5a0",
  "name": "CMsgGCShowItemsPickedUp::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a930",
  "name": "CMsgGCStorePurchaseCancel::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a9c0",
  "name": "CMsgGCStorePurchaseCancelResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112aa40",
  "name": "CMsgGCStorePurchaseFinalize::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112aad0",
  "name": "CMsgGCStorePurchaseFinalizeResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128b50",
  "name": "CMsgGCStorePurchaseInit::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128c00",
  "name": "CMsgGCStorePurchaseInitResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ae30",
  "name": "CMsgGCToGCBannedWordListBroadcast::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112aec0",
  "name": "CMsgGCToGCBannedWordListUpdated::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b360",
  "name": "CMsgGCToGCBroadcastConsoleCommand::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112aff0",
  "name": "CMsgGCToGCDirtyMultipleSDOCache::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112af60",
  "name": "CMsgGCToGCDirtySDOCache::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b230",
  "name": "CMsgGCToGCIsTrustedServer::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b2c0",
  "name": "CMsgGCToGCIsTrustedServerResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b5a0",
  "name": "CMsgGCToGCRequestPassportItemGrant::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b1b0",
  "name": "CMsgGCToGCUpdateSQLKeyValue::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b500",
  "name": "CMsgGCToGCWebAPIAccountChanged::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c50",
  "name": "CMsgGC_GlobalGame_Play::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131ce0",
  "name": "CMsgGC_GlobalGame_Play::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c30",
  "name": "CMsgGC_GlobalGame_Subscribe::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131bb0",
  "name": "CMsgGC_GlobalGame_Subscribe::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7c40",
  "name": "CMsgGC_GlobalGame_Unsubscribe::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1131c40",
  "name": "CMsgGC_GlobalGame_Unsubscribe::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0520",
  "name": "CMsgGC_ServerQuestUpdateData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d910",
  "name": "CMsgGC_ServerQuestUpdateData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b650",
  "name": "CMsgGameServerInfo::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f100",
  "name": "CMsgIPCAddress::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204740",
  "name": "CMsgIPCAddress::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12189a0",
  "name": "CMsgIPCAddress::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129560",
  "name": "CMsgIncrementKillCountAttribute::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128ee0",
  "name": "CMsgInvitationCreated::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128e40",
  "name": "CMsgInviteToParty::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112fd40",
  "name": "CMsgItemAcknowledged::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a130",
  "name": "CMsgItemAcknowledged__DEPRECATED::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128ff0",
  "name": "CMsgKickFromParty::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129170",
  "name": "CMsgLANServerAvailable::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0990",
  "name": "CMsgLeaveParty::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129070",
  "name": "CMsgLeaveParty::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128f70",
  "name": "CMsgPartyInviteResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241870",
  "name": "CMsgPlayerInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204930",
  "name": "CMsgPlayerInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12037e0",
  "name": "CMsgPlayerInfo::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219bf0",
  "name": "CMsgPlayerInfo::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12a3c70",
  "name": "CMsgProtoBufHeader::Clear",
  "confidence": "medium",
  "rationale": "vtable slot 4 (after dtor pair + GetTypeName/New) = generated protobuf Clear(); trivial for scalar msgs, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x124c180",
  "name": "CMsgProtoBufHeader::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9: uniform 16-byte this-only const getter across every message, sits directly after ByteSizeLong -> GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1266b50",
  "name": "CMsgProtoBufHeader::MergeFrom",
  "confidence": "medium",
  "rationale": "abi int=2 vtable slot 3 (this,src) calls alloc/copy helpers sub_0x9e60c0/sub_0x1c72a60 = MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f420",
  "name": "CMsgQAngle::Clear",
  "confidence": "medium",
  "rationale": "slot4, 25 callers, no callees \u2014 leaf Clear() invoked by every parent message's Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046c0",
  "name": "CMsgQAngle::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219990",
  "name": "CMsgQAngle::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204420",
  "name": "CMsgRGBA::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f4a0",
  "name": "CMsgRGBA::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204820",
  "name": "CMsgRGBA::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219b60",
  "name": "CMsgRGBA::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a000",
  "name": "CMsgReplayUploadedToYouTube::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129eb0",
  "name": "CMsgRequestInventoryRefresh::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112b110",
  "name": "CMsgSDONoMemcached::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc10",
  "name": "CMsgSOCacheHaveVersion::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c27a0",
  "name": "CMsgSOCacheHaveVersion::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3f90",
  "name": "CMsgSOCacheHaveVersion::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc20",
  "name": "CMsgSOCacheSubscribed::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d36b0",
  "name": "CMsgSOCacheSubscribed::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc00",
  "name": "CMsgSOCacheSubscribed_SubscribedType::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3600",
  "name": "CMsgSOCacheSubscribed_SubscribedType::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc30",
  "name": "CMsgSOCacheSubscriptionCheck::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d37d0",
  "name": "CMsgSOCacheSubscriptionCheck::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe80",
  "name": "CMsgSOCacheSubscriptionRefresh::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3850",
  "name": "CMsgSOCacheSubscriptionRefresh::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe90",
  "name": "CMsgSOCacheUnsubscribed::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3730",
  "name": "CMsgSOCacheUnsubscribed::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfe70",
  "name": "CMsgSOCacheVersion::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d38d0",
  "name": "CMsgSOCacheVersion::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfbe0",
  "name": "CMsgSOIDOwner::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3370",
  "name": "CMsgSOIDOwner::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfea0",
  "name": "CMsgSOMultipleObjects::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3540",
  "name": "CMsgSOMultipleObjects::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfbf0",
  "name": "CMsgSOMultipleObjects_SingleObject::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3490",
  "name": "CMsgSOMultipleObjects_SingleObject::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11f5ed0",
  "name": "CMsgSOSingleObject::Clear",
  "confidence": "medium",
  "rationale": "slot4=Clear; recurses into nested CMsgSOIDOwner::Clear (sub_0x11f43e0), confirming Clear semantics",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfeb0",
  "name": "CMsgSOSingleObject::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d3400",
  "name": "CMsgSOSingleObject::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11290f0",
  "name": "CMsgServerAvailable::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfdb0",
  "name": "CMsgServerHello::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c27e0",
  "name": "CMsgServerHello::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4110",
  "name": "CMsgServerHello::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1243de0",
  "name": "CMsgServerPeer::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204750",
  "name": "CMsgServerPeer::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218a40",
  "name": "CMsgServerPeer::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a280",
  "name": "CMsgSetItemPositions::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0210",
  "name": "CMsgSetItemPositions_ItemPosition::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a1d0",
  "name": "CMsgSetItemPositions_ItemPosition::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129b50",
  "name": "CMsgSortItems::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129c50",
  "name": "CMsgStoreGetUserData::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129cf0",
  "name": "CMsgStoreGetUserDataResponse::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128da0",
  "name": "CMsgSystemBroadcast::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129d90",
  "name": "CMsgUpdateItemSchema::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129f60",
  "name": "CMsgUseItem::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1202790",
  "name": "CMsgVector2D::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f3e0",
  "name": "CMsgVector2D::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204950",
  "name": "CMsgVector2D::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219900",
  "name": "CMsgVector2D::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f330",
  "name": "CMsgVector::Clear",
  "confidence": "medium",
  "rationale": "slot4, 59 callers, no callees \u2014 leaf Clear() invoked by every parent message's Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046d0",
  "name": "CMsgVector::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219880",
  "name": "CMsgVector::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123fab0",
  "name": "CMsgVoiceAudio::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204680",
  "name": "CMsgVoiceAudio::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1216c50",
  "name": "CMsgVoiceAudio::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242e90",
  "name": "CMsg_CVars::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12047e0",
  "name": "CMsg_CVars::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203840",
  "name": "CMsg_CVars::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219dd0",
  "name": "CMsg_CVars::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12419a0",
  "name": "CMsg_CVars_CVar::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12047d0",
  "name": "CMsg_CVars_CVar::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203820",
  "name": "CMsg_CVars_CVar::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219d20",
  "name": "CMsg_CVars_CVar::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x192c510",
  "name": "CMultiplayRules::~CMultiplayRules",
  "confidence": "medium",
  "rationale": "slot 0 calling base helper sub_0xe45620 = complete-object destructor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203860",
  "name": "CNETMsg_NOP::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219e50",
  "name": "CNETMsg_NOP::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1244160",
  "name": "CNETMsg_SetConVar::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048e0",
  "name": "CNETMsg_SetConVar::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12038e0",
  "name": "CNETMsg_SetConVar::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a080",
  "name": "CNETMsg_SetConVar::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241bc0",
  "name": "CNETMsg_SignonState::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048d0",
  "name": "CNETMsg_SignonState::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203900",
  "name": "CNETMsg_SignonState::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a170",
  "name": "CNETMsg_SignonState::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241d90",
  "name": "CNETMsg_SpawnGroup_Load::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048b0",
  "name": "CNETMsg_SpawnGroup_Load::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12039a0",
  "name": "CNETMsg_SpawnGroup_Load::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a4c0",
  "name": "CNETMsg_SpawnGroup_Load::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f5c0",
  "name": "CNETMsg_SpawnGroup_LoadCompleted::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204870",
  "name": "CNETMsg_SpawnGroup_LoadCompleted::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203a20",
  "name": "CNETMsg_SpawnGroup_LoadCompleted::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a700",
  "name": "CNETMsg_SpawnGroup_LoadCompleted::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241f50",
  "name": "CNETMsg_SpawnGroup_ManifestUpdate::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048a0",
  "name": "CNETMsg_SpawnGroup_ManifestUpdate::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12039c0",
  "name": "CNETMsg_SpawnGroup_ManifestUpdate::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a550",
  "name": "CNETMsg_SpawnGroup_ManifestUpdate::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f540",
  "name": "CNETMsg_SpawnGroup_SetCreationTick::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204890",
  "name": "CNETMsg_SpawnGroup_SetCreationTick::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12039e0",
  "name": "CNETMsg_SpawnGroup_SetCreationTick::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a5e0",
  "name": "CNETMsg_SpawnGroup_SetCreationTick::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f580",
  "name": "CNETMsg_SpawnGroup_Unload::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204880",
  "name": "CNETMsg_SpawnGroup_Unload::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203a00",
  "name": "CNETMsg_SpawnGroup_Unload::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a670",
  "name": "CNETMsg_SpawnGroup_Unload::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12044b0",
  "name": "CNETMsg_SplitScreenUser::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f510",
  "name": "CNETMsg_SplitScreenUser::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204910",
  "name": "CNETMsg_SplitScreenUser::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203880",
  "name": "CNETMsg_SplitScreenUser::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219ee0",
  "name": "CNETMsg_SplitScreenUser::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241ab0",
  "name": "CNETMsg_StringCmd::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048f0",
  "name": "CNETMsg_StringCmd::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12038c0",
  "name": "CNETMsg_StringCmd::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a000",
  "name": "CNETMsg_StringCmd::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241a20",
  "name": "CNETMsg_Tick::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204900",
  "name": "CNETMsg_Tick::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12038a0",
  "name": "CNETMsg_Tick::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219f70",
  "name": "CNETMsg_Tick::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x221cdc0",
  "name": "CNavArea::~CNavArea",
  "confidence": "medium",
  "rationale": "CNavArea slot 1 = destructor, calls member-free helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x21ac8c0",
  "name": "CNavLadder::ConnectGeneratedLadder",
  "confidence": "medium",
  "rationale": "'ERROR: Unconnected ladder top/bottom' strings match nav_ladder ConnectGeneratedLadder",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1b77ef0",
  "name": "CNavMesh::CommandNavEndArea",
  "confidence": "medium",
  "rationale": "'EDIT_END_AREA.NotCreating' nav-edit sound event.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2219240",
  "name": "CNavMesh::LoadPlaceDatabase",
  "confidence": "medium",
  "rationale": "loads navplace.db and scripts/population.txt",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2219800",
  "name": "CNavMesh::NameToPlace",
  "confidence": "medium",
  "rationale": "String 'Warning: NavMesh place %s is undefined?' = place-name to index lookup.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xb9a460",
  "name": "CNextLevelIssue::GetDisplayString",
  "confidence": "medium",
  "rationale": "vote issue returning #SFUI_vote_nextlevel + _choices strings",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13f0b10",
  "name": "CPASAttenuationFilter::~CPASAttenuationFilter",
  "confidence": "medium",
  "rationale": "vtable slot 0 destructor of recipient filter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xefde20",
  "name": "CPASFilter::~CPASFilter",
  "confidence": "medium",
  "rationale": "vtable slot 1 int=0 is the scalar-deleting destructor thunk",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x171dd60",
  "name": "CParticleSystem::InputStop",
  "confidence": "medium",
  "rationale": "input-name string 'Stop'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19270f0",
  "name": "CPathCorner::~CPathCorner",
  "confidence": "medium",
  "rationale": "slot 0 = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927110",
  "name": "CPathCornerCrash::~CPathCornerCrash",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1944ed0",
  "name": "CPathTrack::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1945b70",
  "name": "CPathTrack::ValidPath",
  "confidence": "medium",
  "rationale": "error Bad sequence of path_tracks from %s",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19273a0",
  "name": "CPhysBallSocket::~CPhysBallSocket",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x195efc0",
  "name": "CPhysConstraint::GetConstraintObjects",
  "confidence": "medium",
  "rationale": "'Bogus constraint %s (attaches ... ENTITY NOT FOUND)' constraint entity resolution",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927290",
  "name": "CPhysConstraint::~CPhysConstraint",
  "confidence": "medium",
  "rationale": "slot 0 = complete-object destructor of the constraint base",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19273e0",
  "name": "CPhysFixed::~CPhysFixed",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927370",
  "name": "CPhysHinge::~CPhysHinge",
  "confidence": "medium",
  "rationale": "slot 0 = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927420",
  "name": "CPhysLength::~CPhysLength",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927400",
  "name": "CPhysPulley::~CPhysPulley",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1959fd0",
  "name": "CPhysSaveRestoreBlockHandler::ReadRestoreHeaders",
  "confidence": "medium",
  "rationale": "slot 6 (=ReadRestoreHeaders); PHYS_SAVE_RESTORE_VERSION/m_blockHeader",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19273c0",
  "name": "CPhysSlideConstraint::~CPhysSlideConstraint",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927170",
  "name": "CPhysThruster::~CPhysThruster",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927180",
  "name": "CPhysTorque::~CPhysTorque",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19acb10",
  "name": "CPhysicsProp::InputDisableMotion",
  "confidence": "medium",
  "rationale": "logs 'Disabling motion on phys prop'; CPhysicsProp slot 72",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x145fda0",
  "name": "CPlantedC4::ShootSatchelCharge",
  "confidence": "medium",
  "rationale": "'Can't create planted_c4 entity!'+bomb_planted: creates the planted_c4",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcc610",
  "name": "CPointCamera::~CPointCamera",
  "confidence": "medium",
  "rationale": "slot 0 = destructor stub",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd1cb20",
  "name": "CPointEntity::~CPointEntity",
  "confidence": "medium",
  "rationale": "vtable slot 0 destructor convention",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xdcc790",
  "name": "CPointTemplate::~CPointTemplate",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = destructor stub",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f03e0",
  "name": "CPreMatchInfoData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112e070",
  "name": "CPreMatchInfoData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f03a0",
  "name": "CPreMatchInfoData_TeamStats::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112dfc0",
  "name": "CPreMatchInfoData_TeamStats::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1927440",
  "name": "CRagdollConstraint::~CRagdollConstraint",
  "confidence": "medium",
  "rationale": "slot 0 with 1 caller = complete-object destructor pattern",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf7c2d0",
  "name": "CRagdollMagnet::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 47 universal constant-return entity virtual",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a69a80",
  "name": "CRagdollProp::InitRagdoll",
  "confidence": "medium",
  "rationale": "'Ragdoll_Prop with %d bones != %d shapes (%s)' warning; builds ragdoll bone/shape mapping",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129bd0",
  "name": "CSOEconClaimCode::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11311f0",
  "name": "CSOEconCoupon::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129200",
  "name": "CSOEconGameAccountClient::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; trivial (scalar-only) ctor inlined so empty callees = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f01f0",
  "name": "CSOEconItem::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129ac0",
  "name": "CSOEconItem::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f01e0",
  "name": "CSOEconItemAttribute::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129980",
  "name": "CSOEconItemAttribute::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a6e0",
  "name": "CSOEconItemDropRateBonus::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0200",
  "name": "CSOEconItemEquipped::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129a00",
  "name": "CSOEconItemEquipped::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a820",
  "name": "CSOEconItemEventTicket::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112a780",
  "name": "CSOEconItemLeagueViewPass::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f01d0",
  "name": "CSOItemCriteria::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129350",
  "name": "CSOItemCriteria::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f01c0",
  "name": "CSOItemCriteriaCondition::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11292a0",
  "name": "CSOItemCriteriaCondition::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1129430",
  "name": "CSOItemRecipe::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128d00",
  "name": "CSOLobbyInvite::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1128c80",
  "name": "CSOPartyInvite::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2 alloc+ctor shape = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a95b0",
  "name": "CSOPersonaDataPublic::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7be0",
  "name": "CSOPersonaDataPublic::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11318f0",
  "name": "CSOPersonaDataPublic::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11316a0",
  "name": "CSOQuestProgress::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242df0",
  "name": "CSVCMsgList_GameEvents::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12048c0",
  "name": "CSVCMsgList_GameEvents::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203980",
  "name": "CSVCMsgList_GameEvents::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a410",
  "name": "CSVCMsgList_GameEvents::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242da0",
  "name": "CSVCMsgList_GameEvents_event_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204810",
  "name": "CSVCMsgList_GameEvents_event_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203960",
  "name": "CSVCMsgList_GameEvents_event_t::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a360",
  "name": "CSVCMsgList_GameEvents_event_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f370",
  "name": "CSVCMsg_BSPDecal::Clear",
  "confidence": "medium",
  "rationale": "slot4 calls CMsgVector::Clear (sub_0x123f330) for its Vector field \u2014 protobuf Clear() recursing into submessage",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b50",
  "name": "CSVCMsg_BSPDecal::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217b50",
  "name": "CSVCMsg_BSPDecal::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241500",
  "name": "CSVCMsg_Broadcast_Command::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12049a0",
  "name": "CSVCMsg_Broadcast_Command::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12193f0",
  "name": "CSVCMsg_Broadcast_Command::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242450",
  "name": "CSVCMsg_ClassInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204be0",
  "name": "CSVCMsg_ClassInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217550",
  "name": "CSVCMsg_ClassInfo::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ff70",
  "name": "CSVCMsg_ClassInfo_class_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046a0",
  "name": "CSVCMsg_ClassInfo_class_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12174a0",
  "name": "CSVCMsg_ClassInfo_class_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241080",
  "name": "CSVCMsg_ClearAllStringTables::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a20",
  "name": "CSVCMsg_ClearAllStringTables::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218b80",
  "name": "CSVCMsg_ClearAllStringTables::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240f00",
  "name": "CSVCMsg_CmdKeyValues::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a50",
  "name": "CSVCMsg_CmdKeyValues::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218860",
  "name": "CSVCMsg_CmdKeyValues::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240ad0",
  "name": "CSVCMsg_CreateStringTable::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ac0",
  "name": "CSVCMsg_CreateStringTable::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12184a0",
  "name": "CSVCMsg_CreateStringTable::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x120ae10",
  "name": "CSVCMsg_CrosshairAngle::ByteSizeLong",
  "confidence": "medium",
  "rationale": "slot8 abi int=1 (this only) computes size via a single helper on nested field = ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12449b0",
  "name": "CSVCMsg_CrosshairAngle::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b60",
  "name": "CSVCMsg_CrosshairAngle::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217ab0",
  "name": "CSVCMsg_CrosshairAngle::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1210a30",
  "name": "CSVCMsg_FixAngle::ByteSizeLong",
  "confidence": "medium",
  "rationale": "slot8 abi int=1 (this only) computes size via a single helper on nested field = ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1244a30",
  "name": "CSVCMsg_FixAngle::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b70",
  "name": "CSVCMsg_FixAngle::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217a30",
  "name": "CSVCMsg_FixAngle::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12428a0",
  "name": "CSVCMsg_FlattenedSerializer::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a10",
  "name": "CSVCMsg_FlattenedSerializer::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240ca0",
  "name": "CSVCMsg_FullFrameSplit::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a80",
  "name": "CSVCMsg_FullFrameSplit::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12186c0",
  "name": "CSVCMsg_FullFrameSplit::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242bc0",
  "name": "CSVCMsg_GameEvent::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204800",
  "name": "CSVCMsg_GameEvent::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203940",
  "name": "CSVCMsg_GameEvent::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a2c0",
  "name": "CSVCMsg_GameEvent::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242740",
  "name": "CSVCMsg_GameEventList::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204af0",
  "name": "CSVCMsg_GameEventList::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12425c0",
  "name": "CSVCMsg_GameEventList_descriptor_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204700",
  "name": "CSVCMsg_GameEventList_descriptor_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218040",
  "name": "CSVCMsg_GameEventList_descriptor_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240680",
  "name": "CSVCMsg_GameEventList_key_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046f0",
  "name": "CSVCMsg_GameEventList_key_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217f80",
  "name": "CSVCMsg_GameEventList_key_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1241c60",
  "name": "CSVCMsg_GameEvent_key_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12047f0",
  "name": "CSVCMsg_GameEvent_key_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203920",
  "name": "CSVCMsg_GameEvent_key_t::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a200",
  "name": "CSVCMsg_GameEvent_key_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242080",
  "name": "CSVCMsg_GameSessionConfiguration::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204690",
  "name": "CSVCMsg_GameSessionConfiguration::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203a40",
  "name": "CSVCMsg_GameSessionConfiguration::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot16 present on every generated message, returns per-class static metadata(int=0); protobuf GetMetadata",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x121a7b0",
  "name": "CSVCMsg_GameSessionConfiguration::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12402a0",
  "name": "CSVCMsg_GetCvarValue::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b30",
  "name": "CSVCMsg_GetCvarValue::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217c70",
  "name": "CSVCMsg_GetCvarValue::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12416c0",
  "name": "CSVCMsg_HltvFixupOperatorStatus::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204980",
  "name": "CSVCMsg_HltvFixupOperatorStatus::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1219510",
  "name": "CSVCMsg_HltvFixupOperatorStatus::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204270",
  "name": "CSVCMsg_HltvReplay::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f260",
  "name": "CSVCMsg_HltvReplay::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12049c0",
  "name": "CSVCMsg_HltvReplay::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12192b0",
  "name": "CSVCMsg_HltvReplay::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12403b0",
  "name": "CSVCMsg_Menu::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b20",
  "name": "CSVCMsg_Menu::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217d00",
  "name": "CSVCMsg_Menu::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1244320",
  "name": "CSVCMsg_PacketEntities::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ae0",
  "name": "CSVCMsg_PacketEntities::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218370",
  "name": "CSVCMsg_PacketEntities::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f090",
  "name": "CSVCMsg_PacketReliable::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a90",
  "name": "CSVCMsg_PacketReliable::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218640",
  "name": "CSVCMsg_PacketReliable::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242ab0",
  "name": "CSVCMsg_PeerList::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a30",
  "name": "CSVCMsg_PeerList::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218af0",
  "name": "CSVCMsg_PeerList::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203f90",
  "name": "CSVCMsg_Prefetch::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123efa0",
  "name": "CSVCMsg_Prefetch::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b90",
  "name": "CSVCMsg_Prefetch::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12178f0",
  "name": "CSVCMsg_Prefetch::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12401a0",
  "name": "CSVCMsg_Print::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204bb0",
  "name": "CSVCMsg_Print::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217710",
  "name": "CSVCMsg_Print::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x120c9a0",
  "name": "CSVCMsg_SendTable::ByteSizeLong",
  "confidence": "medium",
  "rationale": "slot8 abi int=1 (this only) computes size via a single helper on nested field = ByteSizeLong",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1243e90",
  "name": "CSVCMsg_SendTable::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b00",
  "name": "CSVCMsg_SendTable::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217ef0",
  "name": "CSVCMsg_SendTable::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12405e0",
  "name": "CSVCMsg_SendTable_sendprop_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046e0",
  "name": "CSVCMsg_SendTable_sendprop_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217e30",
  "name": "CSVCMsg_SendTable_sendprop_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1242200",
  "name": "CSVCMsg_ServerInfo::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204bf0",
  "name": "CSVCMsg_ServerInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217410",
  "name": "CSVCMsg_ServerInfo::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123eef0",
  "name": "CSVCMsg_SetPause::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204bd0",
  "name": "CSVCMsg_SetPause::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12175e0",
  "name": "CSVCMsg_SetPause::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203fe0",
  "name": "CSVCMsg_SetView::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123efe0",
  "name": "CSVCMsg_SetView::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b80",
  "name": "CSVCMsg_SetView::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217990",
  "name": "CSVCMsg_SetView::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1243470",
  "name": "CSVCMsg_Sounds::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ba0",
  "name": "CSVCMsg_Sounds::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217870",
  "name": "CSVCMsg_Sounds::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1203cf0",
  "name": "CSVCMsg_Sounds_sounddata_t::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123ef20",
  "name": "CSVCMsg_Sounds_sounddata_t::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12046b0",
  "name": "CSVCMsg_Sounds_sounddata_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot9 right after ByteSizeLong, this-only(int=1), non-recursing; protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12177c0",
  "name": "CSVCMsg_Sounds_sounddata_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204030",
  "name": "CSVCMsg_SplitScreen::ByteSizeLong",
  "confidence": "medium",
  "rationale": "vtable slot8, this-only(int=1); protobuf ByteSizeLong - recurses into embedded sub-message sizes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f010",
  "name": "CSVCMsg_SplitScreen::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b40",
  "name": "CSVCMsg_SplitScreen::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217be0",
  "name": "CSVCMsg_SplitScreen::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f1c0",
  "name": "CSVCMsg_StopSound::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204a00",
  "name": "CSVCMsg_StopSound::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218ed0",
  "name": "CSVCMsg_StopSound::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12409b0",
  "name": "CSVCMsg_TempEntities::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ad0",
  "name": "CSVCMsg_TempEntities::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218400",
  "name": "CSVCMsg_TempEntities::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240b80",
  "name": "CSVCMsg_UpdateStringTable::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204ab0",
  "name": "CSVCMsg_UpdateStringTable::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218530",
  "name": "CSVCMsg_UpdateStringTable::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12404c0",
  "name": "CSVCMsg_UserMessage::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204b10",
  "name": "CSVCMsg_UserMessage::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217d90",
  "name": "CSVCMsg_UserMessage::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12448c0",
  "name": "CSVCMsg_VoiceData::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204aa0",
  "name": "CSVCMsg_VoiceData::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12185b0",
  "name": "CSVCMsg_VoiceData::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1240080",
  "name": "CSVCMsg_VoiceInit::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204bc0",
  "name": "CSVCMsg_VoiceInit::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1217670",
  "name": "CSVCMsg_VoiceInit::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a50050",
  "name": "CSceneEntity::CancelPlayback",
  "confidence": "medium",
  "rationale": "logs '%s : canceled via interrupt'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a3da50",
  "name": "CSceneEntity::ClearSceneEvents",
  "confidence": "medium",
  "rationale": "'%s : %8.2f:  clearing events' log; clears scene events (calls Scene_DebugEventPrintf)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a56a20",
  "name": "CSceneEntity::FindNamedActor",
  "confidence": "medium",
  "rationale": "'CSceneEntity %s unable to find actor \"%s\"'; slot 244",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a510c0",
  "name": "CSceneEntity::LoadScene",
  "confidence": "medium",
  "rationale": "'%s missing from scenes.vcdlist_c'; scene file load",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x213ad10",
  "name": "CSchemaType::ToString",
  "confidence": "medium",
  "rationale": "formats field type tags 'atomic,','built-in,','fixed_array','net_array', 763 callers = generic util",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1684330",
  "name": "CServerGameDLL::GetGameDescription",
  "confidence": "medium",
  "rationale": "returns 'Default Game Description', abi int=0 (no this) fits a const-string getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1497f90",
  "name": "CSmokeGrenade::EmitGrenade",
  "confidence": "medium",
  "rationale": "slot 449 grenade-common projectile spawn override",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13f2640",
  "name": "CSmokeGrenadeProjectile::BounceSound",
  "confidence": "medium",
  "rationale": "slot309 plays 'SmokeGrenade.Bounce'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13f6d40",
  "name": "CSmokeGrenadeProjectile::Detonate",
  "confidence": "medium",
  "rationale": "slot 318, int=1 float=1 calling detonate helper sub_0x12f8d10 and physics helper sub_0x13f66a0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xf77a00",
  "name": "CSoundscapeSystem::AddSoundscapeFile",
  "confidence": "medium",
  "rationale": "builds 'scripts/soundscapes_<name>.txt' path and parses it (calls ParseSoundscapeFile)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbaacd0",
  "name": "CStartTimeOutIssue::ExecuteCommand",
  "confidence": "medium",
  "rationale": "vote issue executing 'timeout_ct_start;'/'timeout_terrorist_start;'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c71470",
  "name": "CSteamID::Render",
  "confidence": "medium",
  "rationale": "emits Steam-ID string formats [U:%u:%u]/[A:%u:%u:%u]/[G:%u:%u]/[C:%u:%u] etc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xbaa730",
  "name": "CSwapTeams::ExecuteCommand",
  "confidence": "medium",
  "rationale": "vote issue executing 'mp_swapteams;' command",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2296620",
  "name": "CTSQueue::PopItem",
  "confidence": "medium",
  "rationale": "'CTSQueue: Misaligned queue' guard; int=1 = dequeue.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x22954f0",
  "name": "CTSQueue::PushItem",
  "confidence": "medium",
  "rationale": "'CTSQueue: Misaligned queue' guard; int=3, 20 callers = enqueue.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xacf710",
  "name": "CTraceFilter::GetTraceType",
  "confidence": "medium",
  "rationale": "ITraceFilter slot1 is GetTraceType() (slot0 ShouldHitEntity)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x167c950",
  "name": "CTraceFilterNoNPCsOrPlayer::ShouldHitEntity",
  "confidence": "medium",
  "rationale": "ITraceFilter slot 2, arg-taking (int=2) = ShouldHitEntity",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xd15140",
  "name": "CTraceFilterNoPlayersAndFlashbangPassableAnims::ShouldHitEntity",
  "confidence": "medium",
  "rationale": "trace-filter slot 2 int=2 with entity-comparison callee; core ShouldHitEntity",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1937800",
  "name": "CTriggerBrush::EndTouch",
  "confidence": "medium",
  "rationale": "Slot 149 (=EndTouch) fires func_pushable output via FireOutput.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x19376d0",
  "name": "CTriggerBrush::StartTouch",
  "confidence": "medium",
  "rationale": "Slot 147 (=StartTouch) fires func_pushable output via FireOutput.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x192f650",
  "name": "CTriggerBrush::~CTriggerBrush",
  "confidence": "medium",
  "rationale": "slot 5 int=1 deleting-destructor pattern, calls free helper sub_0x21329e0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aabab0",
  "name": "CTriggerHurt::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x109ddc0",
  "name": "CTriggerMultiple::ActivateMultiTrigger",
  "confidence": "medium",
  "rationale": "references MultiTouch and MultiWaitOver think-context strings, int=2 (this+activator)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1a8f640",
  "name": "CTriggerSave::Touch",
  "confidence": "medium",
  "rationale": "autosave/autosavedangerous/autosavedangerousissafe modes; class CTriggerSave; calls UTIL::Remove + datamap fn.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1aafc50",
  "name": "CTriggerTeleport::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x184f560",
  "name": "CVisibilityMonitor::AddEntity",
  "confidence": "medium",
  "rationale": "log string VisMon: Added Entity %s (%s)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ab9fd0",
  "name": "CWaterBullet::GetDataDescMap",
  "confidence": "medium",
  "rationale": "slot 44 int=0 static datamap accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1499e00",
  "name": "CWeaponElite::PrimaryAttack",
  "confidence": "medium",
  "rationale": "slot 419 int=1 with firing callees (bullet/recoil helpers)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x229d800",
  "name": "CWorkThreadPool::StopWorkThreads",
  "confidence": "medium",
  "rationale": "String 'Thread %s (ID %llu) failed to shut down' = pool shutdown/join.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfd70",
  "name": "CWorkshop_GetContributors_Request::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c28c0",
  "name": "CWorkshop_GetContributors_Request::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4550",
  "name": "CWorkshop_GetContributors_Request::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfd60",
  "name": "CWorkshop_GetContributors_Response::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c28e0",
  "name": "CWorkshop_GetContributors_Response::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d45f0",
  "name": "CWorkshop_GetContributors_Response::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfd80",
  "name": "CWorkshop_PopulateItemDescriptions_Request::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c28a0",
  "name": "CWorkshop_PopulateItemDescriptions_Request::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d44d0",
  "name": "CWorkshop_PopulateItemDescriptions_Request::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc60",
  "name": "CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2880",
  "name": "CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4420",
  "name": "CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc50",
  "name": "CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2860",
  "name": "CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4370",
  "name": "CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfd50",
  "name": "CWorkshop_SetItemPaymentRules_Request::GetCachedSize",
  "confidence": "medium",
  "rationale": "vtable slot 9: int=1 16-byte const leaf immediately after ByteSizeLong = generated protobuf GetCachedSize",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2960",
  "name": "CWorkshop_SetItemPaymentRules_Request::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4860",
  "name": "CWorkshop_SetItemPaymentRules_Request::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc80",
  "name": "CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2940",
  "name": "CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d47a0",
  "name": "CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11bfc70",
  "name": "CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9; trivial leaf (int=1) returning this->_cached_size_",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2900",
  "name": "CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d4680",
  "name": "CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11c2980",
  "name": "CWorkshop_SetItemPaymentRules_Response::IsInitialized",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 returns constant with no this-read/no callees: IsInitialized (no required fields)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11d48e0",
  "name": "CWorkshop_SetItemPaymentRules_Response::New",
  "confidence": "medium",
  "rationale": "vtable slot 3, this+Arena* abi (int=2) is the only protobuf Message virtual with one arg; callees = arena alloc + ctor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xacba30",
  "name": "ClientJob_EMsgGCCStrike15_v2_GC2ServerReservationUpdate::BYieldingRunJobFromMsg",
  "confidence": "medium",
  "rationale": "job slot3 int=2 with full deserialize+job callee set \u2014 the job body handling the reservation-update msg",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x13995e0",
  "name": "ClientJob_EMsgGCCStrike15_v2_MatchEndRewardDropsNotification::BYieldingRunJobFromMsg",
  "confidence": "medium",
  "rationale": "handles 'Notification about user drop' GC msg",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1399340",
  "name": "ClientJob_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty::BYieldingRunJobFromMsg",
  "confidence": "medium",
  "rationale": "handles 'Notification about user penalty' GC msg",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f04a0",
  "name": "DeepPlayerMatchEvent::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d840",
  "name": "DeepPlayerMatchEvent::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0490",
  "name": "DeepPlayerStatsEntry::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d7b0",
  "name": "DeepPlayerStatsEntry::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc80020",
  "name": "DefuseBombState::OnEnter",
  "confidence": "medium",
  "rationale": "state slot-0 (OnEnter) begins defuse; string 'DefusingBomb'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fb80",
  "name": "DefuseBombState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit, calls sub_0xbfab40/sub_0xbfacd0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc82bd0",
  "name": "DefuseBombState::OnUpdate",
  "confidence": "medium",
  "rationale": "bot DefuseBombState slot 1: 'Failed to start defuse, giving up','In Defuse state but don't know where bomb is'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0270",
  "name": "DetailedSearchStatistic::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112c780",
  "name": "DetailedSearchStatistic::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc8e960",
  "name": "EscapeFromBombState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0x1bc9010 (common OnEnter helper)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7f280",
  "name": "EscapeFromBombState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit; empty body",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc84670",
  "name": "EscapeFromBombState::OnUpdate",
  "confidence": "medium",
  "rationale": "CS bot state slot 1 = OnUpdate, heavy movement/logic callee set",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc8ea00",
  "name": "EscapeFromFlamesState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0x1bc9010 + setup helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc8ee80",
  "name": "FetchBombState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0x1bc9010",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc82d60",
  "name": "FetchBombState::OnUpdate",
  "confidence": "medium",
  "rationale": "slot 1 bot-state update; 'I picked up the bomb'/'Fetch bomb pathfind failed'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1626a60",
  "name": "FilterDamageType::PassesDamageFilterImpl",
  "confidence": "medium",
  "rationale": "slot 238, int=2 damage-filter variant (this,CTakeDamageInfo)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1626a50",
  "name": "FilterDamageType::PassesFilterImpl",
  "confidence": "medium",
  "rationale": "slot 237 filter core-test virtual (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc8eec0",
  "name": "FollowState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, extensive setup callee set incl sub_0x1bc9010",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7ec70",
  "name": "FollowState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit; int=0 empty body",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc8f4e0",
  "name": "FollowState::OnUpdate",
  "confidence": "medium",
  "rationale": "class FollowState slot1 'Bored. Repathing','Repathing to stay with leader','Pathfind to leader failed'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xac1270",
  "name": "GCSDK::CGCClientJob::BYieldingRunJobFromMsg",
  "confidence": "medium",
  "rationale": "client-job base slot2 int=1 with job-machinery callees (sub_0x2287370) \u2014 the job-body dispatch virtual",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x2287ed0",
  "name": "GCSDK::CJob::~CJob",
  "confidence": "medium",
  "rationale": "slot 0, 33 callers, lock-release warning in job.cpp = job destructor releasing held locks",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x229e830",
  "name": "GCSDK::CWorkThread::Run",
  "confidence": "medium",
  "rationale": "workthreadpool.cpp worker loop; refs 'CWorkThread -- Sleep' profiling label",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0330",
  "name": "GameServerPing::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112c670",
  "name": "GameServerPing::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0360",
  "name": "GlobalStatistics::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cab0",
  "name": "GlobalStatistics::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc88cf0",
  "name": "HideState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, extensive setup callee set",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fdc0",
  "name": "HideState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit, calls sub_0xbfacd0/sub_0x21644e0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc87870",
  "name": "HideState::OnUpdate",
  "confidence": "medium",
  "rationale": "slot 1=OnUpdate; hiding-spot pathfind/pick-another strings",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc91980",
  "name": "HuntState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0xbd8520/sub_0xbe74b0/sub_0x1bc9010",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc83d00",
  "name": "HuntState::OnUpdate",
  "confidence": "medium",
  "rationale": "slot 1 bot-state update; 'Giving up hunting.'/'I'm guarding hostages'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xee8480",
  "name": "IGameSystem::PostInitAllSystems",
  "confidence": "medium",
  "rationale": "log 'IGameSystem::PostInit( %-80s ) %8.3f msec' = timed PostInit dispatcher over all systems",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc91a80",
  "name": "IdleState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0xbd8520/sub_0xbe74b0/sub_0x1bc9010",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc877d0",
  "name": "IdleState::OnUpdate",
  "confidence": "medium",
  "rationale": "CS bot state slot 1 = OnUpdate, calls sub_0xbf6de0/sub_0x1c56d10/sub_0x21f0370",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc896c0",
  "name": "InvestigateNoiseState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls sub_0xbda2f0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fd90",
  "name": "InvestigateNoiseState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc89700",
  "name": "InvestigateNoiseState::OnUpdate",
  "confidence": "medium",
  "rationale": "state slot-1 (OnUpdate); string 'Noise location is clear.'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0370",
  "name": "IpAddressMask::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d200",
  "name": "IpAddressMask::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c63d20",
  "name": "KeyValues3::GetFloat",
  "confidence": "medium",
  "rationale": "int=2 float=1 (default float arg) with GetString + parse sub_0x1c638d0; float value getter with default",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c63980",
  "name": "KeyValues3::GetInt",
  "confidence": "medium",
  "rationale": "GetString + parse helper sub_0x1c638d0 (37 callers); reads value as string and converts to int",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c69ed0",
  "name": "KeyValues3::GetMemberName",
  "confidence": "medium",
  "rationale": "451 callers, '<empty member name>' fallback = member-name accessor.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0x1c69200",
  "name": "KeyValues3::GetVector",
  "confidence": "medium",
  "rationale": "int=2 (this,out) directly wrapping ReadArrayFloat32, 16 callers; reads a fixed float-triple Vector",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ee9610",
  "name": "KeyValues3::SetString",
  "confidence": "medium",
  "rationale": "int=3 direct wrapper over KeyValues3::SetString; string value setter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": true,
  "promote": true
 },
 {
  "addr": "0x10f02e0",
  "name": "MatchEndItemUpdates::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d3b0",
  "name": "MatchEndItemUpdates::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf1e94",
  "name": "Message::FindInitializationErrors",
  "confidence": "medium",
  "rationale": "'Message missing required fields:' required-field check.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fce0",
  "name": "MoveToState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter, calls setup helpers sub_0xbd8520/sub_0xbe74b0/sub_0xbe9eb0/sub_0xbf9520",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fc90",
  "name": "MoveToState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc82e90",
  "name": "MoveToState::OnUpdate",
  "confidence": "medium",
  "rationale": "slot1 'enemy I was chasing was killed - giving up', CoveringFriend/Hostage/LostEnemy",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc89150",
  "name": "OpenDoorState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter (int=1 float=1), calls sub_0x9f0e10/sub_0x9f0ff0/sub_0xa31d00",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7f230",
  "name": "OpenDoorState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit(this,bot)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc81210",
  "name": "OpenDoorState::OnUpdate",
  "confidence": "medium",
  "rationale": "state slot-1 (OnUpdate); string 'Open door'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cb40",
  "name": "OperationalStatisticDescription::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0280",
  "name": "OperationalStatisticElement::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cbd0",
  "name": "OperationalStatisticElement::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cc80",
  "name": "OperationalStatisticsPacket::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fc40",
  "name": "PickupHostageState::OnEnter",
  "confidence": "medium",
  "rationale": "CS bot state slot 0 = OnEnter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc802e0",
  "name": "PickupHostageState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit, calls sub_0xbe6f80/sub_0xbfab40/sub_0xbfacd0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc80650",
  "name": "PickupHostageState::OnUpdate",
  "confidence": "medium",
  "rationale": "state slot-1 (OnUpdate); string 'Use entity'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc81030",
  "name": "PlantBombState::OnEnter",
  "confidence": "medium",
  "rationale": "state slot-0 (OnEnter); string 'Plant bomb on floor'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc7fbd0",
  "name": "PlantBombState::OnExit",
  "confidence": "medium",
  "rationale": "CS bot state slot 2 = OnExit, calls sub_0xbe6f80/sub_0xbfab40/sub_0xbfacd0",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc800a0",
  "name": "PlantBombState::OnUpdate",
  "confidence": "medium",
  "rationale": "state slot-1 (OnUpdate) handles 'weapon_c4' planting",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0450",
  "name": "PlayerCommendationInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cf00",
  "name": "PlayerCommendationInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0620",
  "name": "PlayerDecalDigitalSignature::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10e7ce0",
  "name": "PlayerDecalDigitalSignature::IsInitialized",
  "confidence": "medium",
  "rationale": "proto3 message vtable slot17, abi int=0 (this-independent) => uniform 16-byte stub returning true",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1132220",
  "name": "PlayerDecalDigitalSignature::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0460",
  "name": "PlayerMedalsInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112cf90",
  "name": "PlayerMedalsInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0300",
  "name": "PlayerQuestData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d710",
  "name": "PlayerQuestData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f02c0",
  "name": "PlayerQuestData_QuestItemData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d660",
  "name": "PlayerQuestData_QuestItemData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f03b0",
  "name": "PlayerRankingInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ce70",
  "name": "PlayerRankingInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x12427b0",
  "name": "ProtoFlattenedSerializerField_t::Clear",
  "confidence": "medium",
  "rationale": "protobuf Message vtable slot 4 = Clear(); this-only, recurses into submessage Clear",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204780",
  "name": "ProtoFlattenedSerializerField_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218cb0",
  "name": "ProtoFlattenedSerializerField_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x123f180",
  "name": "ProtoFlattenedSerializer_t::Clear",
  "confidence": "medium",
  "rationale": "slot4, trivial leaf Clear()",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1204770",
  "name": "ProtoFlattenedSerializer_t::GetCachedSize",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 9 (int=1), trivial this-only accessor, no callees/strings, adjacent to ByteSizeLong(8)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1218d40",
  "name": "ProtoFlattenedSerializer_t::MergeFrom",
  "confidence": "medium",
  "rationale": "slot3 abi int=2 (this,&from); scalar-only msgs have empty callees, string/repeated msgs call merge helpers = generated MergeFrom",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9f12",
  "name": "Reflection::AddEnumValue",
  "confidence": "medium",
  "rationale": "'AddEnum' protobuf reflection method.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cdd53a",
  "name": "Reflection::SetEnumValue",
  "confidence": "medium",
  "rationale": "'SetEnum' protobuf reflection method.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd9e22",
  "name": "Reflection::SetRepeatedEnumValue",
  "confidence": "medium",
  "rationale": "'SetRepeatedEnum' protobuf reflection method.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0310",
  "name": "ScoreLeaderboardData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d5b0",
  "name": "ScoreLeaderboardData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f02b0",
  "name": "ScoreLeaderboardData_AccountEntries::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d4e0",
  "name": "ScoreLeaderboardData_AccountEntries::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f02a0",
  "name": "ScoreLeaderboardData_Entry::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d430",
  "name": "ScoreLeaderboardData_Entry::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0410",
  "name": "ServerHltvInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d170",
  "name": "ServerHltvInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cabcbc",
  "name": "ServiceDescriptor::DebugString",
  "confidence": "medium",
  "rationale": "'service $0 {' service DebugString formatting.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f03c0",
  "name": "TournamentEvent::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112c9f0",
  "name": "TournamentEvent::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0320",
  "name": "TournamentMatchSetup::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d0c0",
  "name": "TournamentMatchSetup::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f0260",
  "name": "TournamentPlayer::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112c850",
  "name": "TournamentPlayer::New",
  "confidence": "medium",
  "rationale": "slot 3, int=2; scalar-only trivial ctor = New(Arena*)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x11a9a50",
  "name": "TournamentTeam::Clear",
  "confidence": "medium",
  "rationale": "protobuf vtable slot 4; int=1 non-const, recurses into submessage Clear() and calls shared string/field clear helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f03d0",
  "name": "TournamentTeam::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112c920",
  "name": "TournamentTeam::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0xc803c0",
  "name": "UseEntityState::OnUpdate",
  "confidence": "medium",
  "rationale": "state slot-1 (OnUpdate); string 'Use entity'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f04d0",
  "name": "WatchableMatchInfo::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112ed10",
  "name": "WatchableMatchInfo::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x10f02d0",
  "name": "XpProgressData::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot9 protobuf MessageLite vtable const leaf reading _cached_size_ member -> int=1 (this only), no callees",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x112d310",
  "name": "XpProgressData::New",
  "confidence": "medium",
  "rationale": "Protobuf Message vtable slot 3, abi this+ptr(Arena*) = New(Arena*) per-class allocator override; no strings.",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9474f",
  "name": "google::protobuf::CEscape",
  "confidence": "medium",
  "rationale": "strutil.cc '(len) >= (0)' + calls CEscapeInternal sub_0x1c90d18",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cacfcc",
  "name": "google::protobuf::Descriptor::DebugString",
  "confidence": "medium",
  "rationale": "emits message DebugString fragments '$0 extend .$1 {'/'$0 extensions $1 to $2;'/'$0message $1'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9ae92",
  "name": "google::protobuf::DescriptorBuilder::AddNotDefinedError",
  "confidence": "medium",
  "rationale": "name-resolution error text ('is not defined'/'innermost scope is searched first'/import)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ca5b92",
  "name": "google::protobuf::DescriptorBuilder::BuildEnum",
  "confidence": "medium",
  "rationale": "'Enums must contain at least one value'/'Enum value reserved'/google.protobuf.EnumOptions",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ca535c",
  "name": "google::protobuf::DescriptorBuilder::BuildExtensionRange",
  "confidence": "medium",
  "rationale": "'Extension numbers must be positive integers' + range end>start",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ca3eba",
  "name": "google::protobuf::DescriptorBuilder::BuildFieldOrExtension",
  "confidence": "medium",
  "rationale": "'Couldn't parse default value'/'Boolean default must be true or false'/field-number-reserved/extendee checks",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ca87f0",
  "name": "google::protobuf::DescriptorBuilder::BuildFile",
  "confidence": "medium",
  "rationale": "'A file with this name is already in the pool'/'Exceeds Maximum Package Depth'/'Invalid public dependency index'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ca688a",
  "name": "google::protobuf::DescriptorBuilder::BuildMessage",
  "confidence": "medium",
  "rationale": "extension/reserved range overlap errors + 'Reached maximum recursion limit for nested messages'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cb152e",
  "name": "google::protobuf::DescriptorBuilder::CrossLinkField",
  "confidence": "medium",
  "rationale": "'has no value named'/'is not a message type'/'Field number $0 has already been used' cross-linking",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cb2460",
  "name": "google::protobuf::DescriptorBuilder::CrossLinkMessage",
  "confidence": "medium",
  "rationale": "oneof rules: 'Fields in the same oneof must be defined consecutively'/'Synthetic oneofs must be after all other oneofs'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9994c",
  "name": "google::protobuf::DescriptorBuilder::OptionInterpreter::SetInt32",
  "confidence": "medium",
  "rationale": "descriptor.cc 'Invalid wire type for CPPTYPE_INT32:'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c999ea",
  "name": "google::protobuf::DescriptorBuilder::OptionInterpreter::SetInt64",
  "confidence": "medium",
  "rationale": "descriptor.cc 'Invalid wire type for CPPTYPE_INT64:'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c99a88",
  "name": "google::protobuf::DescriptorBuilder::OptionInterpreter::SetUInt32",
  "confidence": "medium",
  "rationale": "descriptor.cc 'Invalid wire type for CPPTYPE_UINT32:'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c99b16",
  "name": "google::protobuf::DescriptorBuilder::OptionInterpreter::SetUInt64",
  "confidence": "medium",
  "rationale": "descriptor.cc 'Invalid wire type for CPPTYPE_UINT64:'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9f856",
  "name": "google::protobuf::DescriptorBuilder::ValidateFileOptions",
  "confidence": "medium",
  "rationale": "'optimize_for = LITE_RUNTIME cannot import files which do use this option' file-option check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9a872",
  "name": "google::protobuf::DescriptorBuilder::ValidateSymbolName",
  "confidence": "medium",
  "rationale": "'is not a valid identifier.'/'Missing name.' symbol validation",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0fb0",
  "name": "google::protobuf::DescriptorPoolDatabase::FindFileContainingExtension",
  "confidence": "medium",
  "rationale": "DescriptorPoolDatabase vtable slot 4, int=4 matches FindFileContainingExtension",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2bc",
  "name": "google::protobuf::DescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb6b4",
  "name": "google::protobuf::DescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc52ae",
  "name": "google::protobuf::DescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb302",
  "name": "google::protobuf::DescriptorProto_ExtensionRange::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb678",
  "name": "google::protobuf::DescriptorProto_ExtensionRange::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc41ca",
  "name": "google::protobuf::DescriptorProto_ExtensionRange::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0c0a",
  "name": "google::protobuf::EncodedDescriptorDatabase::FindAllExtensionNumbers",
  "confidence": "medium",
  "rationale": "EncodedDescriptorDatabase vtable slot 5, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0a50",
  "name": "google::protobuf::EncodedDescriptorDatabase::FindFileByName",
  "confidence": "medium",
  "rationale": "EncodedDescriptorDatabase vtable slot 2, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0952",
  "name": "google::protobuf::EncodedDescriptorDatabase::FindFileContainingExtension",
  "confidence": "medium",
  "rationale": "EncodedDescriptorDatabase vtable slot 4, int=4",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0878",
  "name": "google::protobuf::EncodedDescriptorDatabase::FindFileContainingSymbol",
  "confidence": "medium",
  "rationale": "EncodedDescriptorDatabase vtable slot 3, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cac50c",
  "name": "google::protobuf::EnumDescriptor::DebugString",
  "confidence": "medium",
  "rationale": "'$0enum $1 {' / '$0 reserved' / '$0 to $1,' text output",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2c6",
  "name": "google::protobuf::EnumDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb74a",
  "name": "google::protobuf::EnumDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc429e",
  "name": "google::protobuf::EnumDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb352",
  "name": "google::protobuf::EnumOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb83a",
  "name": "google::protobuf::EnumOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc427e",
  "name": "google::protobuf::EnumOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb348",
  "name": "google::protobuf::EnumValueDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb768",
  "name": "google::protobuf::EnumValueDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4262",
  "name": "google::protobuf::EnumValueDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb366",
  "name": "google::protobuf::EnumValueOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb858",
  "name": "google::protobuf::EnumValueOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4242",
  "name": "google::protobuf::EnumValueOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9c598",
  "name": "google::protobuf::FieldDescriptor::DefaultValueAsString",
  "confidence": "medium",
  "rationale": "'Messages can't have default values!'/'No default value'/has_default_value() CHECK, descriptor.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2da",
  "name": "google::protobuf::FieldDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb6f0",
  "name": "google::protobuf::FieldDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc43ae",
  "name": "google::protobuf::FieldDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb334",
  "name": "google::protobuf::FieldOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb7fe",
  "name": "google::protobuf::FieldOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc438e",
  "name": "google::protobuf::FieldOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1caf6d6",
  "name": "google::protobuf::FileDescriptor::DebugString",
  "confidence": "medium",
  "rationale": "emits file DebugString 'import \"$0\";'/'package $0;'/'syntax = \"$0\";'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2b2",
  "name": "google::protobuf::FileDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb65a",
  "name": "google::protobuf::FileDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc536e",
  "name": "google::protobuf::FileDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb3b6",
  "name": "google::protobuf::FileDescriptorSet::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb63c",
  "name": "google::protobuf::FileDescriptorSet::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper sub_0x1cdaa3a",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc5b78",
  "name": "google::protobuf::FileDescriptorSet::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2e4",
  "name": "google::protobuf::FileOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb7c2",
  "name": "google::protobuf::FileOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc43ca",
  "name": "google::protobuf::FileOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd13e4",
  "name": "google::protobuf::MergedDescriptorDatabase::FindFileContainingExtension",
  "confidence": "medium",
  "rationale": "MergedDescriptorDatabase vtable slot 4, int=4",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd1322",
  "name": "google::protobuf::MergedDescriptorDatabase::FindFileContainingSymbol",
  "confidence": "medium",
  "rationale": "MergedDescriptorDatabase vtable slot 3, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb30c",
  "name": "google::protobuf::MessageOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb7e0",
  "name": "google::protobuf::MessageOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4222",
  "name": "google::protobuf::MessageOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cab7aa",
  "name": "google::protobuf::MethodDescriptor::DebugString",
  "confidence": "medium",
  "rationale": "'$0rpc $1($4.$2) returns ($5.$3)' + 'stream'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb370",
  "name": "google::protobuf::MethodDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb7a4",
  "name": "google::protobuf::MethodDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4308",
  "name": "google::protobuf::MethodDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb384",
  "name": "google::protobuf::MethodOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb894",
  "name": "google::protobuf::MethodOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc42e8",
  "name": "google::protobuf::MethodOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb2d0",
  "name": "google::protobuf::ServiceDescriptorProto::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb786",
  "name": "google::protobuf::ServiceDescriptorProto::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4344",
  "name": "google::protobuf::ServiceDescriptorProto::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb37a",
  "name": "google::protobuf::ServiceOptions::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb876",
  "name": "google::protobuf::ServiceOptions::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc4324",
  "name": "google::protobuf::ServiceOptions::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cd0b56",
  "name": "google::protobuf::SimpleDescriptorDatabase::FindAllExtensionNumbers",
  "confidence": "medium",
  "rationale": "SimpleDescriptorDatabase vtable slot 5, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccf022",
  "name": "google::protobuf::SimpleDescriptorDatabase::FindFileByName",
  "confidence": "medium",
  "rationale": "SimpleDescriptorDatabase vtable slot 2, int=3 (this,filename,output)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccf82e",
  "name": "google::protobuf::SimpleDescriptorDatabase::FindFileContainingExtension",
  "confidence": "medium",
  "rationale": "SimpleDescriptorDatabase vtable slot 4, int=4 (this,type,field_number,output)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccf1a4",
  "name": "google::protobuf::SimpleDescriptorDatabase::FindFileContainingSymbol",
  "confidence": "medium",
  "rationale": "SimpleDescriptorDatabase vtable slot 3, int=3",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c9410d",
  "name": "google::protobuf::SimpleDtoa",
  "confidence": "medium",
  "rationale": "strutil.cc %.1f with temp[0]=='1'/temp[size-1]=='5' roundtrip check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf8cca",
  "name": "google::protobuf::TextFormat::Parser::Parse",
  "confidence": "medium",
  "rationale": "'Recursion limit at end of parse should be'/recursion_limit CHECK top-level parse, text_format.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf4042",
  "name": "google::protobuf::TextFormat::Parser::ParserImpl::ParserErrorCollector::AddError",
  "confidence": "medium",
  "rationale": "io::ErrorCollector slot 2 -> AddError",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf41b8",
  "name": "google::protobuf::TextFormat::Parser::ParserImpl::ParserErrorCollector::AddWarning",
  "confidence": "medium",
  "rationale": "io::ErrorCollector slot 3 -> AddWarning",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf15d6",
  "name": "google::protobuf::TextFormat::Printer::Print",
  "confidence": "medium",
  "rationale": "text_format.cc 'output specified is nullptr' CHECK output",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cf4382",
  "name": "google::protobuf::TextFormat::Printer::TextGenerator::Print",
  "confidence": "medium",
  "rationale": "BaseTextGenerator slot 5 -> Print (slot5=Print abi-confirmed)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c90afd",
  "name": "google::protobuf::UnescapeCEscapeSequences",
  "confidence": "medium",
  "rationale": "strutil.cc 'Error reporting not implemented' + errors==nullptr",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb32a",
  "name": "google::protobuf::UninterpretedOption::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb8d0",
  "name": "google::protobuf::UninterpretedOption::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cc3ca4",
  "name": "google::protobuf::UninterpretedOption::MergeFrom",
  "confidence": "medium",
  "rationale": "slot 5; field-wise merge via RepeatedPtrField/ExtensionSet merge helpers",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ccb38e",
  "name": "google::protobuf::UninterpretedOption_NamePart::GetCachedSize",
  "confidence": "medium",
  "rationale": "slot 9; tiny int=1 cached-size getter",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cbb8b2",
  "name": "google::protobuf::UninterpretedOption_NamePart::GetMetadata",
  "confidence": "medium",
  "rationale": "vtable slot 16, int=0 calls shared AssignDescriptors helper",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7c0ac",
  "name": "google::protobuf::internal::ExtensionSet::AddBool",
  "confidence": "medium",
  "rationale": "CPPTYPE_BOOL add with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7bd4a",
  "name": "google::protobuf::internal::ExtensionSet::AddDouble",
  "confidence": "medium",
  "rationale": "CPPTYPE_DOUBLE add (int=5 float=1) with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b9e0",
  "name": "google::protobuf::internal::ExtensionSet::AddFloat",
  "confidence": "medium",
  "rationale": "CPPTYPE_FLOAT add (int=5 float=1) with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7ac56",
  "name": "google::protobuf::internal::ExtensionSet::AddInt32",
  "confidence": "medium",
  "rationale": "CPPTYPE_INT32 add with is_packed check (int=6)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7afb6",
  "name": "google::protobuf::internal::ExtensionSet::AddInt64",
  "confidence": "medium",
  "rationale": "CPPTYPE_INT64 add with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7d02c",
  "name": "google::protobuf::internal::ExtensionSet::AddMessage",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_MESSAGE, REPEATED",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7c86e",
  "name": "google::protobuf::internal::ExtensionSet::AddString",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_STRING, REPEATED",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b316",
  "name": "google::protobuf::internal::ExtensionSet::AddUInt32",
  "confidence": "medium",
  "rationale": "CPPTYPE_UINT32 add with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b678",
  "name": "google::protobuf::internal::ExtensionSet::AddUInt64",
  "confidence": "medium",
  "rationale": "CPPTYPE_UINT64 add with is_packed check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c78222",
  "name": "google::protobuf::internal::ExtensionSet::ByteSize",
  "confidence": "medium",
  "rationale": "'Non-primitive types can't be packed' in extension byte-size loop",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7627c",
  "name": "google::protobuf::internal::ExtensionSet::GetBool",
  "confidence": "medium",
  "rationale": "OPTIONAL_FIELD + CPPTYPE_BOOL accessor check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c76742",
  "name": "google::protobuf::internal::ExtensionSet::GetEnum",
  "confidence": "medium",
  "rationale": "OPTIONAL_FIELD + CPPTYPE_ENUM accessor check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7466a",
  "name": "google::protobuf::internal::ExtensionSet::GetInt32",
  "confidence": "medium",
  "rationale": "OPTIONAL_FIELD + CPPTYPE_INT32 accessor check, int=3 (num,default)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c76cee",
  "name": "google::protobuf::internal::ExtensionSet::GetRepeatedString",
  "confidence": "medium",
  "rationale": "CPPTYPE_STRING repeated getter, Index out-of-bounds (extension_set.cc)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c76bec",
  "name": "google::protobuf::internal::ExtensionSet::GetString",
  "confidence": "medium",
  "rationale": "OPTIONAL_FIELD + CPPTYPE_STRING accessor check",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c77ada",
  "name": "google::protobuf::internal::ExtensionSet::MutableRepeatedString",
  "confidence": "medium",
  "rationale": "CPPTYPE_STRING repeated mutable accessor",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7c6aa",
  "name": "google::protobuf::internal::ExtensionSet::MutableString",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_STRING, OPTIONAL",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c78b88",
  "name": "google::protobuf::internal::ExtensionSet::SerializeWithCachedSizesToArray",
  "confidence": "medium",
  "rationale": "'Non-primitive types can't be packed' int=6 serialize path",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7bf38",
  "name": "google::protobuf::internal::ExtensionSet::SetBool",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_BOOL, OPTIONAL",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7bbce",
  "name": "google::protobuf::internal::ExtensionSet::SetDouble",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_DOUBLE, float arg",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7c34a",
  "name": "google::protobuf::internal::ExtensionSet::SetEnum",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_ENUM, OPTIONAL",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b864",
  "name": "google::protobuf::internal::ExtensionSet::SetFloat",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_FLOAT, float arg",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7aae4",
  "name": "google::protobuf::internal::ExtensionSet::SetInt32",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_INT32, OPTIONAL, takes value",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7ae40",
  "name": "google::protobuf::internal::ExtensionSet::SetInt64",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_INT64, OPTIONAL, takes value",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7778e",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedBool",
  "confidence": "medium",
  "rationale": "CPPTYPE_BOOL repeated setter, extension_set.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c77630",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedDouble",
  "confidence": "medium",
  "rationale": "CPPTYPE_DOUBLE repeated setter (int=3 float=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7797e",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedEnum",
  "confidence": "medium",
  "rationale": "CPPTYPE_ENUM repeated setter, extension_set.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c774d2",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedFloat",
  "confidence": "medium",
  "rationale": "CPPTYPE_FLOAT repeated setter (int=3 float=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c76f5e",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedInt32",
  "confidence": "medium",
  "rationale": "CPPTYPE_INT32 repeated setter (this,number,index,value)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c770ba",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedInt64",
  "confidence": "medium",
  "rationale": "CPPTYPE_INT64 repeated setter, extension_set.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c77218",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedUInt32",
  "confidence": "medium",
  "rationale": "CPPTYPE_UINT32 repeated setter, extension_set.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c77374",
  "name": "google::protobuf::internal::ExtensionSet::SetRepeatedUInt64",
  "confidence": "medium",
  "rationale": "CPPTYPE_UINT64 repeated setter, extension_set.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b1a2",
  "name": "google::protobuf::internal::ExtensionSet::SetUInt32",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_UINT32, OPTIONAL, takes value",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c7b502",
  "name": "google::protobuf::internal::ExtensionSet::SetUInt64",
  "confidence": "medium",
  "rationale": "extension_set.cc CHECK cpp_type == CPPTYPE_UINT64, OPTIONAL, takes value",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1cfaf96",
  "name": "google::protobuf::internal::WireFormat::ParseAndMergeField",
  "confidence": "medium",
  "rationale": "wire_format.cc + parse_context.h overrun/kSlopBytes",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c839a4",
  "name": "google::protobuf::io::ArrayInputStream::Skip",
  "confidence": "medium",
  "rationale": "impl_lite.cc CHECK count>=0; slot 4 = Skip",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c80eb0",
  "name": "google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError",
  "confidence": "medium",
  "rationale": "'A protocol message was rejected because it was too big' + SetTotalBytesLimit",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8183a",
  "name": "google::protobuf::io::CodedInputStream::ReadVarint64Fallback",
  "confidence": "medium",
  "rationale": "coded_stream.cc CHECK buffer[0] >= 128 varint continuation (64-bit)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83126",
  "name": "google::protobuf::io::ConcatenatingInputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount (int=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c82c70",
  "name": "google::protobuf::io::ConcatenatingInputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 2 = Next (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c82cc8",
  "name": "google::protobuf::io::ConcatenatingInputStream::Skip",
  "confidence": "medium",
  "rationale": "zero_copy_stream_impl.cc CHECK final<target; slot 4 = Skip",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c837ae",
  "name": "google::protobuf::io::CopyingInputStreamAdaptor::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c84630",
  "name": "google::protobuf::io::CopyingInputStreamAdaptor::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 2 = Next; calls Skip-check sub_0x1c841dc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835b2",
  "name": "google::protobuf::io::FileInputStream::BackUp",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 3 = BackUp",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835da",
  "name": "google::protobuf::io::FileInputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c82e92",
  "name": "google::protobuf::io::FileInputStream::CopyingFileInputStream::Skip",
  "confidence": "medium",
  "rationale": "CopyingInputStream slot 3 = Skip; '!is_closed_' guard",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8359e",
  "name": "google::protobuf::io::FileInputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 2 = Next",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835c6",
  "name": "google::protobuf::io::FileInputStream::Skip",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 4 = Skip",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c837ba",
  "name": "google::protobuf::io::FileOutputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyOutputStream slot 4 = ByteCount",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c845c2",
  "name": "google::protobuf::io::FileOutputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyOutputStream slot 2 = Next",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835bc",
  "name": "google::protobuf::io::IstreamInputStream::BackUp",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 3 = BackUp",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835e4",
  "name": "google::protobuf::io::IstreamInputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8302e",
  "name": "google::protobuf::io::IstreamInputStream::CopyingIstreamInputStream::Read",
  "confidence": "medium",
  "rationale": "CopyingInputStream slot 2 = Read; calls istream read sub_0x9ebd00",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835a8",
  "name": "google::protobuf::io::IstreamInputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 2 = Next",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c835d0",
  "name": "google::protobuf::io::IstreamInputStream::Skip",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 4 = Skip",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c837e4",
  "name": "google::protobuf::io::LimitingInputStream::BackUp",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 3 = BackUp",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8402c",
  "name": "google::protobuf::io::LimitingInputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 5 = ByteCount",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c84050",
  "name": "google::protobuf::io::LimitingInputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 2 = Next",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83816",
  "name": "google::protobuf::io::LimitingInputStream::Skip",
  "confidence": "medium",
  "rationale": "ZeroCopyInputStream slot 4 = Skip",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83072",
  "name": "google::protobuf::io::OstreamOutputStream::BackUp",
  "confidence": "medium",
  "rationale": "ZeroCopyOutputStream slot 3 = BackUp (int=2)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c8307c",
  "name": "google::protobuf::io::OstreamOutputStream::ByteCount",
  "confidence": "medium",
  "rationale": "ZeroCopyOutputStream slot 4 = ByteCount (int=1)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83086",
  "name": "google::protobuf::io::OstreamOutputStream::CopyingOstreamOutputStream::Write",
  "confidence": "medium",
  "rationale": "CopyingOutputStream slot 2 = Write; calls ostream write sub_0x9ecf00",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83068",
  "name": "google::protobuf::io::OstreamOutputStream::Next",
  "confidence": "medium",
  "rationale": "ZeroCopyOutputStream slot 2 = Next (int=3)",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1c83d02",
  "name": "google::protobuf::io::StringOutputStream::Next",
  "confidence": "medium",
  "rationale": "CHECK target_ != NULL + string append; slot 2 = Next",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce46c6",
  "name": "google::protobuf::io::Tokenizer::ConsumeBlockComment",
  "confidence": "medium",
  "rationale": "'Block comments cannot be nested' / 'End-of-file inside block comment'",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ce4a06",
  "name": "google::protobuf::io::Tokenizer::Next",
  "confidence": "medium",
  "rationale": "tokenizer error strings: non-ascii codepoint / invalid control chars / space between identifier and decimal",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 },
 {
  "addr": "0x1ceefa8",
  "name": "google::protobuf::strings::SubstituteAndAppend",
  "confidence": "medium",
  "rationale": "'Invalid strings::Substitute() format string' substitute.cc",
  "corroboration": "exact",
  "self_named": false,
  "collision": false,
  "clashes_known": false,
  "promote": true
 }
]