{
  "kind": "hwanse-hud-menu-opener-frontier-review",
  "source": "tools/build_hud_menu_opener_frontier_review.py",
  "exe": "/home/exedev/hwanse/Hwanse2.exe",
  "status": "normal-field-opener-still-unproven",
  "summary": {
    "functionCount": 796,
    "touchedFunctionCount": 193,
    "inputFunctionCount": 13,
    "descriptorFunctionCount": 170,
    "intersectionFunctionCount": 3,
    "normalOpenCandidateCount": 0,
    "topMenuSequenceTextRefCount": 0,
    "topMenuSequenceAllRefCount": 1,
    "topMenuSequenceAllRefsHex": [
      "0x0047e6b0"
    ],
    "decision": "x86 함수 단위 교집합에서도 normal-field ESC/X opener는 아직 증명되지 않았다. 입력 mask와 descriptor stack이 만나는 확정 함수는 cancel/back, display VM base binder, field movement/collision 계층으로 배제됐으며, top-menu object sequence 0x004ddc6c의 직접 ref는 여전히 data-context 1건뿐이다."
  },
  "refsByName": {
    "input.currentActionMask": [
      "0x0040640b",
      "0x004106a8",
      "0x0041d8c5",
      "0x00422d9b",
      "0x00422da1",
      "0x004232a5",
      "0x004232dc",
      "0x0043038e",
      "0x0043039e",
      "0x004303ae",
      "0x004303b7",
      "0x004303bf",
      "0x004303c8",
      "0x004303d0",
      "0x004303e0",
      "0x004303f0",
      "0x004303f9",
      "0x00430401",
      "0x0043040a",
      "0x00430412",
      "0x00430429",
      "0x00430440",
      "0x00430457",
      "0x004304df",
      "0x004304fe",
      "0x00430660",
      "0x0043067f",
      "0x00430806",
      "0x00430825",
      "0x004309c8",
      "0x004309e7"
    ],
    "input.edgeActionMask": [
      "0x004042dd",
      "0x00404340",
      "0x0040b167",
      "0x0040b189",
      "0x0040b1b3",
      "0x0040b1d5",
      "0x0040b1ff",
      "0x0040b221",
      "0x0040b246",
      "0x0040b26b",
      "0x0040c746",
      "0x0040c757",
      "0x0040c762",
      "0x0041b84c",
      "0x0041b907",
      "0x0041b924",
      "0x0041d6ff",
      "0x0041d70a",
      "0x0041d712",
      "0x0041d71b",
      "0x0041d723",
      "0x0041d797",
      "0x0041d7b2",
      "0x0041d807",
      "0x0041d812",
      "0x0041d82e",
      "0x0041d851",
      "0x0041d85c",
      "0x0041f092",
      "0x0041f0c6",
      "0x00422d8b",
      "0x00422daf",
      "0x00422dc0"
    ],
    "descriptor.activeCount": [
      "0x00406b91",
      "0x00406cce",
      "0x00407d24",
      "0x004081de",
      "0x00408372",
      "0x0040849d",
      "0x00408782",
      "0x00408a1d",
      "0x00408a3b",
      "0x00408c30",
      "0x00408d2b",
      "0x00408ec7",
      "0x0040a3b9",
      "0x0040a5ae",
      "0x0040a798",
      "0x0040a98e",
      "0x0040ab84",
      "0x0040acf2",
      "0x0040bce8",
      "0x0040bcf7",
      "0x0040bd37",
      "0x0040bd6b",
      "0x0040be53",
      "0x0040c2e2",
      "0x0040c3b3",
      "0x0040c422",
      "0x0040c480",
      "0x0040c86c",
      "0x0040c8b8",
      "0x0040c96c",
      "0x0040d428",
      "0x0040d6b3",
      "0x0040d6e5",
      "0x0040d772",
      "0x0040dbba",
      "0x0040dd2a",
      "0x0040dea4",
      "0x0040e02e",
      "0x0040e0e4",
      "0x0040eb23",
      "0x0040f058",
      "0x0040f0c6",
      "0x0040f14c",
      "0x0040f8b3",
      "0x00410542",
      "0x00410cf3",
      "0x00410d69",
      "0x0041de99",
      "0x0041e970",
      "0x004204e7",
      "0x00430150",
      "0x00430239",
      "0x0043026a",
      "0x00431185",
      "0x0043146f",
      "0x004319bc",
      "0x00431ff4",
      "0x00432013",
      "0x00432073",
      "0x00432163",
      "0x00432184",
      "0x00432191",
      "0x00432198",
      "0x004321b8",
      "0x004322a2",
      "0x00432385",
      "0x004323a5",
      "0x004323c8",
      "0x004324b2",
      "0x0043254d",
      "0x0043256b",
      "0x0043264f",
      "0x00432685",
      "0x004326c4",
      "0x004326cb",
      "0x004326ea",
      "0x0043270a",
      "0x004327f4",
      "0x00433491",
      "0x004334e2",
      "0x00433b37",
      "0x00433b68",
      "0x00433b9b",
      "0x00433e22",
      "0x00433ea5",
      "0x00435606"
    ],
    "descriptor.activeIdOrder": [
      "0x0040b6aa",
      "0x0040b788",
      "0x0040b7a9",
      "0x0040b7e8",
      "0x0040b80a",
      "0x0040bd4b",
      "0x0040be7e",
      "0x0040bfa7",
      "0x0040c3c7",
      "0x0040deb8",
      "0x00410e71",
      "0x00410ff5",
      "0x0041d974",
      "0x0041dc47",
      "0x0041dc81",
      "0x0041e34b",
      "0x0041e750",
      "0x0041e7ad",
      "0x0041e982",
      "0x0041f88f",
      "0x0041fcad",
      "0x0041fce8",
      "0x0041fd23",
      "0x0041fd99",
      "0x0041ff65",
      "0x0042006f",
      "0x004217a0",
      "0x00432169",
      "0x00432663",
      "0x004326a5"
    ],
    "descriptor.slotTable": [
      "0x00406436",
      "0x0040ad79",
      "0x0040b6b8",
      "0x0040be8c",
      "0x0040c3d5",
      "0x0040c43b",
      "0x0040c499",
      "0x0040dec6",
      "0x0040f25a",
      "0x0040f373",
      "0x0040f48c",
      "0x0040f730",
      "0x0040fac6",
      "0x0040ff57",
      "0x0041015b",
      "0x00410162",
      "0x004101a6",
      "0x004101ad",
      "0x004103e7",
      "0x0041d8f8",
      "0x0042007d",
      "0x004217ae",
      "0x00422562",
      "0x00422a5c",
      "0x00423428",
      "0x00423561",
      "0x004320b2",
      "0x0043217c",
      "0x004321d0",
      "0x004321f3",
      "0x0043228e",
      "0x004323b3",
      "0x004323e0",
      "0x00432403",
      "0x0043249e",
      "0x0043259b",
      "0x00432722",
      "0x00432745",
      "0x004327e0"
    ],
    "descriptor.slotPointers": [
      "0x00406479",
      "0x00406499",
      "0x0040ad8b",
      "0x0040c04b",
      "0x0040c362",
      "0x0040c3df",
      "0x0040c542",
      "0x0040c6f2",
      "0x0040c7a8",
      "0x0040c7ce",
      "0x0040c7eb",
      "0x0040c823",
      "0x0040c840",
      "0x0040c8ce",
      "0x0040c8eb",
      "0x0040ca0c",
      "0x0040cac3",
      "0x0040cad3",
      "0x0040cb17",
      "0x0040cb31",
      "0x0040cbb6",
      "0x0040cc1e",
      "0x0040cc3b",
      "0x0040cc4b",
      "0x0040cc73",
      "0x0040cc95",
      "0x0040cd08",
      "0x0040cf28",
      "0x0040d00c",
      "0x0040d067",
      "0x0040d09e",
      "0x0040d0e4",
      "0x0040d10c",
      "0x0040d123",
      "0x0040d13c",
      "0x0040d155",
      "0x0040d193",
      "0x0040d1b0",
      "0x0040d1c7",
      "0x0040d1da",
      "0x0040d1f3",
      "0x0040d20c",
      "0x0040d266",
      "0x0040d2b8",
      "0x0040d2d5",
      "0x0040d2ec",
      "0x0040d361",
      "0x0040d3a9",
      "0x0040d3b5",
      "0x0040d43b",
      "0x0040d52c",
      "0x0040d549",
      "0x0040d557",
      "0x0040d568",
      "0x0040d576",
      "0x0040d588",
      "0x0040d5ce",
      "0x0040d5e0",
      "0x0040d6c6",
      "0x0040d785",
      "0x0040d7a2",
      "0x0040d7b0",
      "0x0040d7c1",
      "0x0040d879",
      "0x0040d8e9",
      "0x0040d98b",
      "0x0040da3a",
      "0x0040da90",
      "0x0040daa2",
      "0x0040dac8",
      "0x0040dad5",
      "0x0040daf1",
      "0x0040db54",
      "0x0040dbcd",
      "0x0040dbe5",
      "0x0040dca0",
      "0x0040dcc1",
      "0x0040dccd",
      "0x0040dd3d",
      "0x0040dd5a",
      "0x0040dd68",
      "0x0040dd79",
      "0x0040de1c",
      "0x0040de2e",
      "0x0040ded3",
      "0x0040deeb",
      "0x0040df0e",
      "0x0040df23",
      "0x0040df38",
      "0x0040df4d",
      "0x0040df62",
      "0x0040df77",
      "0x0040df9a",
      "0x0040dfed",
      "0x0040e00a",
      "0x0040e041",
      "0x0040e05e",
      "0x0040e069",
      "0x0040e07f",
      "0x0040e091",
      "0x0040e0a4",
      "0x0040e0f7",
      "0x0040e1c9",
      "0x0040e22d",
      "0x0040e2f1",
      "0x0040e534",
      "0x0040e59b",
      "0x0040e7ef",
      "0x0040e856",
      "0x0040eae8",
      "0x0040eafa",
      "0x0040eb36",
      "0x0040ee45",
      "0x0040ee66",
      "0x0040ee72",
      "0x0040eefd",
      "0x0040ef0f",
      "0x0040f06b",
      "0x0040f0d9",
      "0x0040f107",
      "0x0040f11a",
      "0x0040f128",
      "0x0040f15f",
      "0x0040f18d",
      "0x0040f1a0",
      "0x0040f1ae",
      "0x0040f58f",
      "0x0040f5bd",
      "0x0040f66c",
      "0x0040f68f",
      "0x0040f6ce",
      "0x0040fab3",
      "0x0040fb55",
      "0x0040fb8f",
      "0x0040fbab",
      "0x0040fbc1",
      "0x0040fbd8",
      "0x0040fbf4",
      "0x0040fc0a",
      "0x004104e9",
      "0x00410ebe",
      "0x00411211",
      "0x00411220",
      "0x00411794",
      "0x00411807",
      "0x00411a33",
      "0x00411b3f",
      "0x00411c4c",
      "0x00411d0a",
      "0x00411d44",
      "0x00411e1b",
      "0x00411e55",
      "0x00411f2c",
      "0x00411f66",
      "0x00412038",
      "0x00412072",
      "0x00412149",
      "0x00412183",
      "0x00412257",
      "0x00412291",
      "0x00412368",
      "0x004123a2",
      "0x00412476",
      "0x00412561",
      "0x004126b3",
      "0x00412782",
      "0x0041284d",
      "0x0041286a",
      "0x00412982",
      "0x004129be",
      "0x00412a6b",
      "0x00412b1f",
      "0x00412b42",
      "0x00412be3",
      "0x00412c8d",
      "0x00412d3a",
      "0x00412d74",
      "0x00412e56",
      "0x00412e79",
      "0x00412e9c",
      "0x00412ed6",
      "0x00413032",
      "0x00413055",
      "0x00413078",
      "0x0041309b",
      "0x004130d5",
      "0x00413197",
      "0x0041323e",
      "0x00413278",
      "0x004133b5",
      "0x004134e5",
      "0x0041351f",
      "0x00413616",
      "0x00413650",
      "0x004137b4",
      "0x004137ee",
      "0x00413938",
      "0x00413972",
      "0x00413ac9",
      "0x00413b6a",
      "0x00413bdd",
      "0x00413c17",
      "0x00413cdf",
      "0x00413d19",
      "0x00413e56",
      "0x00413ec9",
      "0x00413f86",
      "0x00414121",
      "0x00414251",
      "0x00414379",
      "0x004143b3",
      "0x00414475",
      "0x00414642",
      "0x0041467c",
      "0x0041476d",
      "0x004147a7",
      "0x00414879",
      "0x004148b3",
      "0x00414984",
      "0x004149be",
      "0x00414a90",
      "0x00414d02",
      "0x00414db9",
      "0x00414df3",
      "0x00414ec4",
      "0x00414f6b",
      "0x00415074",
      "0x0041d918",
      "0x0041dd70",
      "0x0041de2f",
      "0x0041de52",
      "0x0041de66",
      "0x0041deac",
      "0x0041debc",
      "0x0041e5df",
      "0x0041e884",
      "0x0041e9aa",
      "0x0041ea05",
      "0x0041ea26",
      "0x004205b7",
      "0x004206ab",
      "0x004209b7",
      "0x00420a37",
      "0x00420b2e",
      "0x00420ed7",
      "0x00421790",
      "0x0043218b",
      "0x004326b9",
      "0x004326d2",
      "0x004334a9",
      "0x004334b9",
      "0x00433ade",
      "0x00433b11",
      "0x00433b7b",
      "0x00433c27",
      "0x00433cb7",
      "0x00433dde",
      "0x00435668",
      "0x00435678",
      "0x004356c0"
    ],
    "descriptor.objectPointers": [
      "0x0040573c",
      "0x00405753",
      "0x004057a3",
      "0x004057bc",
      "0x004057d7",
      "0x00405d0b",
      "0x00405d21",
      "0x00405d2c",
      "0x00407b1b",
      "0x00407b31",
      "0x00407b58",
      "0x00407b6e",
      "0x00407d41",
      "0x004081fb",
      "0x0040838f",
      "0x004084ba",
      "0x0040879f",
      "0x00408a58",
      "0x00408c4d",
      "0x00408d48",
      "0x00408ee4",
      "0x0040a40f",
      "0x0040a604",
      "0x0040a7ee",
      "0x0040a9e4",
      "0x0040abda",
      "0x0040ad0f",
      "0x0040ae85",
      "0x0040aea8",
      "0x0040aeb6",
      "0x0040aef6",
      "0x0040af0f",
      "0x0040af2c",
      "0x0040af45",
      "0x0040fc8c",
      "0x0041142f",
      "0x0041bcb2",
      "0x00421556",
      "0x00421567",
      "0x004242cb",
      "0x004242e1",
      "0x00424353",
      "0x00424369",
      "0x0042438e",
      "0x0042461a",
      "0x00424630",
      "0x00424655",
      "0x00430287",
      "0x004302ac",
      "0x004311a2",
      "0x0043149f",
      "0x0043189a",
      "0x004319d9",
      "0x00431a0c",
      "0x00432030",
      "0x00432090",
      "0x00432132",
      "0x0043214f",
      "0x004322c0",
      "0x004324d0",
      "0x00432588",
      "0x0043261b",
      "0x00432638",
      "0x00432812"
    ],
    "descriptor.rootTable": [
      "0x004321bf",
      "0x004323cf",
      "0x00432711"
    ],
    "topMenu.objectSequence": [],
    "topMenu.intermediateRecord": [],
    "topMenu.parentContextScript": [],
    "map.collisionFlags": [
      "0x00407713",
      "0x00408e36",
      "0x00408fea",
      "0x0040a070",
      "0x0040a26e",
      "0x0042459f",
      "0x00424fe4",
      "0x00425498",
      "0x00430534",
      "0x00430541",
      "0x0043055e",
      "0x00430574",
      "0x004306b5",
      "0x004306c2",
      "0x004306df",
      "0x004306f5",
      "0x0043085b",
      "0x00430868",
      "0x00430885",
      "0x0043089b",
      "0x00430a1d",
      "0x00430a2a",
      "0x00430a47",
      "0x00430a5d",
      "0x00431ab6",
      "0x00431b54",
      "0x00431bcc"
    ],
    "map.width": [
      "0x004071de",
      "0x00407340",
      "0x004076bd",
      "0x004076fa",
      "0x00408554",
      "0x00408dbc",
      "0x00408e11",
      "0x00408f4e",
      "0x00408fc3",
      "0x00409989",
      "0x00409ff6",
      "0x0040a04b",
      "0x0040a1d2",
      "0x0040a247",
      "0x004244df",
      "0x0042450a",
      "0x00424528",
      "0x00424537",
      "0x00424567",
      "0x00424585",
      "0x00424594",
      "0x00424fc6",
      "0x004251ce",
      "0x00425365",
      "0x0042547d",
      "0x00425557",
      "0x00425586",
      "0x004304b1",
      "0x00430632",
      "0x004307b2",
      "0x004307ea",
      "0x00430958",
      "0x0043099e",
      "0x00430f5d",
      "0x00431595",
      "0x00431a98",
      "0x00431b36",
      "0x00431bb1",
      "0x00431bef",
      "0x00431c39"
    ]
  },
  "callsByName": {
    "call.addDescriptor": [
      "0x00407cd1"
    ],
    "call.removeDescriptor": [
      "0x00407cf5"
    ],
    "call.rebuildDescriptor": [
      "0x0042349c"
    ],
    "call.inputPacker": [
      "0x00422d91"
    ]
  },
  "intersectionFunctions": [
    {
      "functionVaHex": "0x0040c6cc",
      "endVaHex": "0x0040c948",
      "size": 636,
      "role": "known-cancel/back-handler",
      "refHits": {
        "input.edgeActionMask": [
          "0x0040c746",
          "0x0040c757",
          "0x0040c762"
        ],
        "descriptor.activeCount": [
          "0x0040c86c",
          "0x0040c8b8"
        ],
        "descriptor.slotPointers": [
          "0x0040c6f2",
          "0x0040c7a8",
          "0x0040c7ce",
          "0x0040c7eb",
          "0x0040c823",
          "0x0040c840",
          "0x0040c8ce",
          "0x0040c8eb"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "negative-static-proof",
      "note": "ESC/X edge bit consumer, but it unwinds active descriptor state; this is cancel/back, not normal open."
    },
    {
      "functionVaHex": "0x0041d89d",
      "endVaHex": "0x0041d962",
      "size": 197,
      "role": "display-vm-base-pointer-binder",
      "refHits": {
        "input.currentActionMask": [
          "0x0041d8c5"
        ],
        "descriptor.slotTable": [
          "0x0041d8f8"
        ],
        "descriptor.slotPointers": [
          "0x0041d918"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "negative-static-proof",
      "note": "Command byte selects a base pointer for the display/object VM; it reads input context but does not add the menu descriptor."
    },
    {
      "functionVaHex": "0x0043022d",
      "endVaHex": "0x004319f8",
      "size": 6091,
      "role": "active-descriptor-field-movement-controller",
      "refHits": {
        "input.currentActionMask": [
          "0x0043038e",
          "0x0043039e",
          "0x004303ae",
          "0x004303b7",
          "0x004303bf",
          "0x004303c8",
          "0x004303d0",
          "0x004303e0",
          "0x004303f0",
          "0x004303f9",
          "0x00430401",
          "0x0043040a",
          "0x00430412",
          "0x00430429",
          "0x00430440",
          "0x00430457",
          "0x004304df",
          "0x004304fe",
          "0x00430660",
          "0x0043067f",
          "0x00430806",
          "0x00430825",
          "0x004309c8",
          "0x004309e7"
        ],
        "descriptor.activeCount": [
          "0x00430239",
          "0x0043026a",
          "0x00431185",
          "0x0043146f",
          "0x004319bc"
        ],
        "descriptor.objectPointers": [
          "0x00430287",
          "0x004302ac",
          "0x004311a2",
          "0x0043149f",
          "0x0043189a",
          "0x004319d9"
        ],
        "map.collisionFlags": [
          "0x00430534",
          "0x00430541",
          "0x0043055e",
          "0x00430574",
          "0x004306b5",
          "0x004306c2",
          "0x004306df",
          "0x004306f5",
          "0x0043085b",
          "0x00430868",
          "0x00430885",
          "0x0043089b",
          "0x00430a1d",
          "0x00430a2a",
          "0x00430a47",
          "0x00430a5d"
        ],
        "map.width": [
          "0x004304b1",
          "0x00430632",
          "0x004307b2",
          "0x004307ea",
          "0x00430958",
          "0x0043099e",
          "0x00430f5d",
          "0x00431595"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": true,
      "promotion": "negative-static-proof",
      "note": "Consumes current input mask, active descriptors, and map collision data for field movement/collision; not an ESC/X menu opener."
    }
  ],
  "normalOpenCandidates": [],
  "roleCounts": {
    "active-descriptor-field-movement-controller": 1,
    "descriptor-consumer": 166,
    "descriptor-materializer-helper": 1,
    "display-vm-base-pointer-binder": 1,
    "input-consumer": 10,
    "known-cancel/back-handler": 1,
    "other": 13
  },
  "classifiedFunctions": [
    {
      "functionVaHex": "0x004042b6",
      "endVaHex": "0x004043c5",
      "size": 271,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x004042dd",
          "0x00404340"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0040570c",
      "endVaHex": "0x0040578f",
      "size": 131,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0040573c",
          "0x00405753"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040578f",
      "endVaHex": "0x004057eb",
      "size": 92,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x004057a3",
          "0x004057bc",
          "0x004057d7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00405c79",
      "endVaHex": "0x00405d73",
      "size": 250,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x00405d0b",
          "0x00405d21",
          "0x00405d2c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004063fc",
      "endVaHex": "0x0040641b",
      "size": 31,
      "role": "input-consumer",
      "refHits": {
        "input.currentActionMask": [
          "0x0040640b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0040641b",
      "endVaHex": "0x0040644f",
      "size": 52,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x00406436"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040644f",
      "endVaHex": "0x004064d5",
      "size": 134,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00406479",
          "0x00406499"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00406b63",
      "endVaHex": "0x00406d98",
      "size": 565,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00406b91",
          "0x00406cce"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040711f",
      "endVaHex": "0x004072c4",
      "size": 421,
      "role": "other",
      "refHits": {
        "map.width": [
          "0x004071de"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x004072c4",
      "endVaHex": "0x0040757e",
      "size": 698,
      "role": "other",
      "refHits": {
        "map.width": [
          "0x00407340"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00407686",
      "endVaHex": "0x00407764",
      "size": 222,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x00407713"
        ],
        "map.width": [
          "0x004076bd",
          "0x004076fa"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x004079ff",
      "endVaHex": "0x00407c93",
      "size": 660,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x00407b1b",
          "0x00407b31",
          "0x00407b58",
          "0x00407b6e"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00407cc1",
      "endVaHex": "0x00407ce5",
      "size": 36,
      "role": "other",
      "refHits": {},
      "callHits": {
        "call.addDescriptor": [
          "0x00407cd1"
        ]
      },
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00407ce5",
      "endVaHex": "0x00407d09",
      "size": 36,
      "role": "other",
      "refHits": {},
      "callHits": {
        "call.removeDescriptor": [
          "0x00407cf5"
        ]
      },
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00407d09",
      "endVaHex": "0x004081c3",
      "size": 1210,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00407d24"
        ],
        "descriptor.objectPointers": [
          "0x00407d41"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004081c3",
      "endVaHex": "0x00408350",
      "size": 397,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x004081de"
        ],
        "descriptor.objectPointers": [
          "0x004081fb"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408350",
      "endVaHex": "0x0040847b",
      "size": 299,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408372"
        ],
        "descriptor.objectPointers": [
          "0x0040838f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040847b",
      "endVaHex": "0x00408767",
      "size": 748,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040849d"
        ],
        "descriptor.objectPointers": [
          "0x004084ba"
        ],
        "map.width": [
          "0x00408554"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408767",
      "endVaHex": "0x00408a11",
      "size": 682,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408782"
        ],
        "descriptor.objectPointers": [
          "0x0040879f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408a11",
      "endVaHex": "0x00408c15",
      "size": 516,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408a1d",
          "0x00408a3b"
        ],
        "descriptor.objectPointers": [
          "0x00408a58"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408c15",
      "endVaHex": "0x00408d10",
      "size": 251,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408c30"
        ],
        "descriptor.objectPointers": [
          "0x00408c4d"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408d10",
      "endVaHex": "0x00408eac",
      "size": 412,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408d2b"
        ],
        "descriptor.objectPointers": [
          "0x00408d48"
        ],
        "map.collisionFlags": [
          "0x00408e36"
        ],
        "map.width": [
          "0x00408dbc",
          "0x00408e11"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00408eac",
      "endVaHex": "0x0040904a",
      "size": 414,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00408ec7"
        ],
        "descriptor.objectPointers": [
          "0x00408ee4"
        ],
        "map.collisionFlags": [
          "0x00408fea"
        ],
        "map.width": [
          "0x00408f4e",
          "0x00408fc3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004098b6",
      "endVaHex": "0x00409ca8",
      "size": 1010,
      "role": "other",
      "refHits": {
        "map.width": [
          "0x00409989"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00409f23",
      "endVaHex": "0x0040a102",
      "size": 479,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x0040a070"
        ],
        "map.width": [
          "0x00409ff6",
          "0x0040a04b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x0040a102",
      "endVaHex": "0x0040a2ea",
      "size": 488,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x0040a26e"
        ],
        "map.width": [
          "0x0040a1d2",
          "0x0040a247"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x0040a2ea",
      "endVaHex": "0x0040ac3b",
      "size": 2385,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040a3b9",
          "0x0040a5ae",
          "0x0040a798",
          "0x0040a98e",
          "0x0040ab84"
        ],
        "descriptor.objectPointers": [
          "0x0040a40f",
          "0x0040a604",
          "0x0040a7ee",
          "0x0040a9e4",
          "0x0040abda"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ac3b",
      "endVaHex": "0x0040ad5e",
      "size": 291,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040acf2"
        ],
        "descriptor.objectPointers": [
          "0x0040ad0f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ad5e",
      "endVaHex": "0x0040ad9b",
      "size": 61,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040ad79"
        ],
        "descriptor.slotPointers": [
          "0x0040ad8b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ae7e",
      "endVaHex": "0x0040aecc",
      "size": 78,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0040ae85",
          "0x0040aea8",
          "0x0040aeb6"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040aecc",
      "endVaHex": "0x0040af7e",
      "size": 178,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0040aef6",
          "0x0040af0f",
          "0x0040af2c",
          "0x0040af45"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040b13b",
      "endVaHex": "0x0040b2c5",
      "size": 394,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x0040b167",
          "0x0040b189",
          "0x0040b1b3",
          "0x0040b1d5",
          "0x0040b1ff",
          "0x0040b221",
          "0x0040b246",
          "0x0040b26b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0040b696",
      "endVaHex": "0x0040b752",
      "size": 188,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0040b6aa"
        ],
        "descriptor.slotTable": [
          "0x0040b6b8"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040b752",
      "endVaHex": "0x0040b84a",
      "size": 248,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0040b788",
          "0x0040b7a9",
          "0x0040b7e8",
          "0x0040b80a"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040bcc9",
      "endVaHex": "0x0040be38",
      "size": 367,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040bce8",
          "0x0040bcf7",
          "0x0040bd37",
          "0x0040bd6b"
        ],
        "descriptor.activeIdOrder": [
          "0x0040bd4b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040be38",
      "endVaHex": "0x0040c084",
      "size": 588,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040be53"
        ],
        "descriptor.activeIdOrder": [
          "0x0040be7e",
          "0x0040bfa7"
        ],
        "descriptor.slotTable": [
          "0x0040be8c"
        ],
        "descriptor.slotPointers": [
          "0x0040c04b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040c084",
      "endVaHex": "0x0040c2fc",
      "size": 632,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040c2e2"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040c2fc",
      "endVaHex": "0x0040c3f4",
      "size": 248,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040c3b3"
        ],
        "descriptor.activeIdOrder": [
          "0x0040c3c7"
        ],
        "descriptor.slotTable": [
          "0x0040c3d5"
        ],
        "descriptor.slotPointers": [
          "0x0040c362",
          "0x0040c3df"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040c3f4",
      "endVaHex": "0x0040c4e0",
      "size": 236,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040c422",
          "0x0040c480"
        ],
        "descriptor.slotTable": [
          "0x0040c43b",
          "0x0040c499"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040c513",
      "endVaHex": "0x0040c6cc",
      "size": 441,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040c542"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040c6cc",
      "endVaHex": "0x0040c948",
      "size": 636,
      "role": "known-cancel/back-handler",
      "refHits": {
        "input.edgeActionMask": [
          "0x0040c746",
          "0x0040c757",
          "0x0040c762"
        ],
        "descriptor.activeCount": [
          "0x0040c86c",
          "0x0040c8b8"
        ],
        "descriptor.slotPointers": [
          "0x0040c6f2",
          "0x0040c7a8",
          "0x0040c7ce",
          "0x0040c7eb",
          "0x0040c823",
          "0x0040c840",
          "0x0040c8ce",
          "0x0040c8eb"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "negative-static-proof",
      "note": "ESC/X edge bit consumer, but it unwinds active descriptor state; this is cancel/back, not normal open."
    },
    {
      "functionVaHex": "0x0040c948",
      "endVaHex": "0x0040ca84",
      "size": 316,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040c96c"
        ],
        "descriptor.slotPointers": [
          "0x0040ca0c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ca84",
      "endVaHex": "0x0040cb98",
      "size": 276,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040cac3",
          "0x0040cad3",
          "0x0040cb17",
          "0x0040cb31"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040cb98",
      "endVaHex": "0x0040ccea",
      "size": 338,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040cbb6",
          "0x0040cc1e",
          "0x0040cc3b",
          "0x0040cc4b",
          "0x0040cc73",
          "0x0040cc95"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ccea",
      "endVaHex": "0x0040cf0a",
      "size": 544,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040cd08"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040cf0a",
      "endVaHex": "0x0040d04c",
      "size": 322,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040cf28",
          "0x0040d00c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d04c",
      "endVaHex": "0x0040d080",
      "size": 52,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d067"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d080",
      "endVaHex": "0x0040d248",
      "size": 456,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d09e",
          "0x0040d0e4",
          "0x0040d10c",
          "0x0040d123",
          "0x0040d13c",
          "0x0040d155",
          "0x0040d193",
          "0x0040d1b0",
          "0x0040d1c7",
          "0x0040d1da",
          "0x0040d1f3",
          "0x0040d20c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d248",
      "endVaHex": "0x0040d32d",
      "size": 229,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d266",
          "0x0040d2b8",
          "0x0040d2d5",
          "0x0040d2ec"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d32d",
      "endVaHex": "0x0040d4dd",
      "size": 432,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040d428"
        ],
        "descriptor.slotPointers": [
          "0x0040d361",
          "0x0040d3a9",
          "0x0040d3b5",
          "0x0040d43b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d4dd",
      "endVaHex": "0x0040d698",
      "size": 443,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d52c",
          "0x0040d549",
          "0x0040d557",
          "0x0040d568",
          "0x0040d576",
          "0x0040d588",
          "0x0040d5ce",
          "0x0040d5e0"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d698",
      "endVaHex": "0x0040d85b",
      "size": 451,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040d6b3",
          "0x0040d6e5",
          "0x0040d772"
        ],
        "descriptor.slotPointers": [
          "0x0040d6c6",
          "0x0040d785",
          "0x0040d7a2",
          "0x0040d7b0",
          "0x0040d7c1"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d85b",
      "endVaHex": "0x0040d8cb",
      "size": 112,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d879"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040d8cb",
      "endVaHex": "0x0040da05",
      "size": 314,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040d8e9",
          "0x0040d98b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040da05",
      "endVaHex": "0x0040db36",
      "size": 305,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040da3a",
          "0x0040da90",
          "0x0040daa2",
          "0x0040dac8",
          "0x0040dad5",
          "0x0040daf1"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040db36",
      "endVaHex": "0x0040db8c",
      "size": 86,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040db54"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040db8c",
      "endVaHex": "0x0040dc6f",
      "size": 227,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040dbba"
        ],
        "descriptor.slotPointers": [
          "0x0040dbcd",
          "0x0040dbe5"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040dc6f",
      "endVaHex": "0x0040ddfe",
      "size": 399,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040dd2a"
        ],
        "descriptor.slotPointers": [
          "0x0040dca0",
          "0x0040dcc1",
          "0x0040dccd",
          "0x0040dd3d",
          "0x0040dd5a",
          "0x0040dd68",
          "0x0040dd79"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ddfe",
      "endVaHex": "0x0040de77",
      "size": 121,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040de1c",
          "0x0040de2e"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040de89",
      "endVaHex": "0x0040dfb8",
      "size": 303,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040dea4"
        ],
        "descriptor.activeIdOrder": [
          "0x0040deb8"
        ],
        "descriptor.slotTable": [
          "0x0040dec6"
        ],
        "descriptor.slotPointers": [
          "0x0040ded3",
          "0x0040deeb",
          "0x0040df0e",
          "0x0040df23",
          "0x0040df38",
          "0x0040df4d",
          "0x0040df62",
          "0x0040df77",
          "0x0040df9a"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040dfb8",
      "endVaHex": "0x0040e0c2",
      "size": 266,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040e02e"
        ],
        "descriptor.slotPointers": [
          "0x0040dfed",
          "0x0040e00a",
          "0x0040e041",
          "0x0040e05e",
          "0x0040e069",
          "0x0040e07f",
          "0x0040e091",
          "0x0040e0a4"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040e0c2",
      "endVaHex": "0x0040e150",
      "size": 142,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040e0e4"
        ],
        "descriptor.slotPointers": [
          "0x0040e0f7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040e190",
      "endVaHex": "0x0040e216",
      "size": 134,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040e1c9"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040e216",
      "endVaHex": "0x0040eab3",
      "size": 2205,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040e22d",
          "0x0040e2f1",
          "0x0040e534",
          "0x0040e59b",
          "0x0040e7ef",
          "0x0040e856"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ead1",
      "endVaHex": "0x0040ec00",
      "size": 303,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040eb23"
        ],
        "descriptor.slotPointers": [
          "0x0040eae8",
          "0x0040eafa",
          "0x0040eb36"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040ee14",
      "endVaHex": "0x0040eedf",
      "size": 203,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040ee45",
          "0x0040ee66",
          "0x0040ee72"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040eedf",
      "endVaHex": "0x0040f02a",
      "size": 331,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040eefd",
          "0x0040ef0f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f02a",
      "endVaHex": "0x0040f1f4",
      "size": 458,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040f058",
          "0x0040f0c6",
          "0x0040f14c"
        ],
        "descriptor.slotPointers": [
          "0x0040f06b",
          "0x0040f0d9",
          "0x0040f107",
          "0x0040f11a",
          "0x0040f128",
          "0x0040f15f",
          "0x0040f18d",
          "0x0040f1a0",
          "0x0040f1ae"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f1f4",
      "endVaHex": "0x0040f30d",
      "size": 281,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040f25a"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f30d",
      "endVaHex": "0x0040f426",
      "size": 281,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040f373"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f426",
      "endVaHex": "0x0040f57c",
      "size": 342,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040f48c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f57c",
      "endVaHex": "0x0040f78a",
      "size": 526,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040f730"
        ],
        "descriptor.slotPointers": [
          "0x0040f58f",
          "0x0040f5bd",
          "0x0040f66c",
          "0x0040f68f",
          "0x0040f6ce"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040f78a",
      "endVaHex": "0x0040fa6d",
      "size": 739,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0040f8b3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040fa6d",
      "endVaHex": "0x0040fb32",
      "size": 197,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040fac6"
        ],
        "descriptor.slotPointers": [
          "0x0040fab3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040fb32",
      "endVaHex": "0x0040fc41",
      "size": 271,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0040fb55",
          "0x0040fb8f",
          "0x0040fbab",
          "0x0040fbc1",
          "0x0040fbd8",
          "0x0040fbf4",
          "0x0040fc0a"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040fc41",
      "endVaHex": "0x0040fcbe",
      "size": 125,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0040fc8c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0040fed4",
      "endVaHex": "0x0041004f",
      "size": 379,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0040ff57"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410110",
      "endVaHex": "0x004101ec",
      "size": 220,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x0041015b",
          "0x00410162",
          "0x004101a6",
          "0x004101ad"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410302",
      "endVaHex": "0x00410430",
      "size": 302,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x004103e7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004104ce",
      "endVaHex": "0x00410539",
      "size": 107,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004104e9"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410539",
      "endVaHex": "0x00410570",
      "size": 55,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00410542"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410570",
      "endVaHex": "0x004106ba",
      "size": 330,
      "role": "input-consumer",
      "refHits": {
        "input.currentActionMask": [
          "0x004106a8"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x00410c90",
      "endVaHex": "0x00410de5",
      "size": 341,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00410cf3",
          "0x00410d69"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410e40",
      "endVaHex": "0x00410f23",
      "size": 227,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x00410e71"
        ],
        "descriptor.slotPointers": [
          "0x00410ebe"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00410fc4",
      "endVaHex": "0x00411068",
      "size": 164,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x00410ff5"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004111e5",
      "endVaHex": "0x0041127d",
      "size": 152,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411211",
          "0x00411220"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411300",
      "endVaHex": "0x00411447",
      "size": 327,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0041142f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041177d",
      "endVaHex": "0x004117f0",
      "size": 115,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411794"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004117f0",
      "endVaHex": "0x004118fd",
      "size": 269,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411807"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411a1c",
      "endVaHex": "0x00411b28",
      "size": 268,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411a33"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411b28",
      "endVaHex": "0x00411c35",
      "size": 269,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411b3f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411c35",
      "endVaHex": "0x00411cf3",
      "size": 190,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411c4c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411cf3",
      "endVaHex": "0x00411e04",
      "size": 273,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411d0a",
          "0x00411d44"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411e04",
      "endVaHex": "0x00411f15",
      "size": 273,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411e1b",
          "0x00411e55"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00411f15",
      "endVaHex": "0x00412021",
      "size": 268,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00411f2c",
          "0x00411f66"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412021",
      "endVaHex": "0x00412132",
      "size": 273,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412038",
          "0x00412072"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412132",
      "endVaHex": "0x00412240",
      "size": 270,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412149",
          "0x00412183"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412240",
      "endVaHex": "0x00412351",
      "size": 273,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412257",
          "0x00412291"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412351",
      "endVaHex": "0x0041245f",
      "size": 270,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412368",
          "0x004123a2"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041245f",
      "endVaHex": "0x0041254a",
      "size": 235,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412476"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041254a",
      "endVaHex": "0x0041269c",
      "size": 338,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412561"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041269c",
      "endVaHex": "0x0041276b",
      "size": 207,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004126b3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041276b",
      "endVaHex": "0x00412818",
      "size": 173,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412782"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412818",
      "endVaHex": "0x004129a7",
      "size": 399,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041284d",
          "0x0041286a",
          "0x00412982"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004129a7",
      "endVaHex": "0x00412a54",
      "size": 173,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004129be"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412a54",
      "endVaHex": "0x00412b08",
      "size": 180,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412a6b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412b08",
      "endVaHex": "0x00412b2b",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412b1f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412b2b",
      "endVaHex": "0x00412bcc",
      "size": 161,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412b42"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412bcc",
      "endVaHex": "0x00412c76",
      "size": 170,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412be3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412c76",
      "endVaHex": "0x00412d23",
      "size": 173,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412c8d"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412d23",
      "endVaHex": "0x00412e3f",
      "size": 284,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412d3a",
          "0x00412d74"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412e3f",
      "endVaHex": "0x00412e62",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412e56"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412e62",
      "endVaHex": "0x00412e85",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412e79"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00412e85",
      "endVaHex": "0x0041301b",
      "size": 406,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00412e9c",
          "0x00412ed6"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041301b",
      "endVaHex": "0x0041303e",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413032"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041303e",
      "endVaHex": "0x00413061",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413055"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413061",
      "endVaHex": "0x00413084",
      "size": 35,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413078"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413084",
      "endVaHex": "0x00413180",
      "size": 252,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041309b",
          "0x004130d5"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413180",
      "endVaHex": "0x00413227",
      "size": 167,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413197"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413227",
      "endVaHex": "0x0041339e",
      "size": 375,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041323e",
          "0x00413278"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041339e",
      "endVaHex": "0x004134ce",
      "size": 304,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004133b5"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004134ce",
      "endVaHex": "0x004135ff",
      "size": 305,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004134e5",
          "0x0041351f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004135ff",
      "endVaHex": "0x0041379d",
      "size": 414,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413616",
          "0x00413650"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041379d",
      "endVaHex": "0x00413921",
      "size": 388,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004137b4",
          "0x004137ee"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413921",
      "endVaHex": "0x00413ab2",
      "size": 401,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413938",
          "0x00413972"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413ab2",
      "endVaHex": "0x00413b53",
      "size": 161,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413ac9"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413b53",
      "endVaHex": "0x00413bc6",
      "size": 115,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413b6a"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413bc6",
      "endVaHex": "0x00413cc8",
      "size": 258,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413bdd",
          "0x00413c17"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413cc8",
      "endVaHex": "0x00413e3f",
      "size": 375,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413cdf",
          "0x00413d19"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413e3f",
      "endVaHex": "0x00413eb2",
      "size": 115,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413e56"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00413eb2",
      "endVaHex": "0x00414362",
      "size": 1200,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00413ec9",
          "0x00413f86",
          "0x00414121",
          "0x00414251"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414362",
      "endVaHex": "0x0041445e",
      "size": 252,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414379",
          "0x004143b3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041445e",
      "endVaHex": "0x0041462b",
      "size": 461,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414475"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041462b",
      "endVaHex": "0x00414756",
      "size": 299,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414642",
          "0x0041467c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414756",
      "endVaHex": "0x00414862",
      "size": 268,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041476d",
          "0x004147a7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414862",
      "endVaHex": "0x0041496d",
      "size": 267,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414879",
          "0x004148b3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041496d",
      "endVaHex": "0x00414a79",
      "size": 268,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414984",
          "0x004149be"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414a79",
      "endVaHex": "0x00414ceb",
      "size": 626,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414a90"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414ceb",
      "endVaHex": "0x00414da2",
      "size": 183,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414d02"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414da2",
      "endVaHex": "0x00414ead",
      "size": 267,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414db9",
          "0x00414df3"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414ead",
      "endVaHex": "0x00414f54",
      "size": 167,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414ec4"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00414f54",
      "endVaHex": "0x0041505d",
      "size": 265,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00414f6b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041505d",
      "endVaHex": "0x00415160",
      "size": 259,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00415074"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041b82a",
      "endVaHex": "0x0041b8ee",
      "size": 196,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x0041b84c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0041b8ee",
      "endVaHex": "0x0041b956",
      "size": 104,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x0041b907",
          "0x0041b924"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0041bca4",
      "endVaHex": "0x0041bd4f",
      "size": 171,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0041bcb2"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041d61b",
      "endVaHex": "0x0041d888",
      "size": 621,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x0041d6ff",
          "0x0041d70a",
          "0x0041d712",
          "0x0041d71b",
          "0x0041d723",
          "0x0041d797",
          "0x0041d7b2",
          "0x0041d807",
          "0x0041d812",
          "0x0041d82e",
          "0x0041d851",
          "0x0041d85c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0041d89d",
      "endVaHex": "0x0041d962",
      "size": 197,
      "role": "display-vm-base-pointer-binder",
      "refHits": {
        "input.currentActionMask": [
          "0x0041d8c5"
        ],
        "descriptor.slotTable": [
          "0x0041d8f8"
        ],
        "descriptor.slotPointers": [
          "0x0041d918"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "negative-static-proof",
      "note": "Command byte selects a base pointer for the display/object VM; it reads input context but does not add the menu descriptor."
    },
    {
      "functionVaHex": "0x0041d962",
      "endVaHex": "0x0041dadb",
      "size": 377,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041d974"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041dc33",
      "endVaHex": "0x0041e03e",
      "size": 1035,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0041de99"
        ],
        "descriptor.activeIdOrder": [
          "0x0041dc47",
          "0x0041dc81"
        ],
        "descriptor.slotPointers": [
          "0x0041dd70",
          "0x0041de2f",
          "0x0041de52",
          "0x0041de66",
          "0x0041deac",
          "0x0041debc"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041e30f",
      "endVaHex": "0x0041e4e1",
      "size": 466,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041e34b"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041e4e1",
      "endVaHex": "0x0041e640",
      "size": 351,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041e5df"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041e72d",
      "endVaHex": "0x0041e871",
      "size": 324,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041e750",
          "0x0041e7ad"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041e871",
      "endVaHex": "0x0041e93f",
      "size": 206,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x0041e884"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041e93f",
      "endVaHex": "0x0041eaa6",
      "size": 359,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0041e970"
        ],
        "descriptor.activeIdOrder": [
          "0x0041e982"
        ],
        "descriptor.slotPointers": [
          "0x0041e9aa",
          "0x0041ea05",
          "0x0041ea26"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041f073",
      "endVaHex": "0x0041f329",
      "size": 694,
      "role": "input-consumer",
      "refHits": {
        "input.edgeActionMask": [
          "0x0041f092",
          "0x0041f0c6"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x0041f86c",
      "endVaHex": "0x0041f96d",
      "size": 257,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041f88f"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041fc8a",
      "endVaHex": "0x0041fe09",
      "size": 383,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041fcad",
          "0x0041fce8",
          "0x0041fd23",
          "0x0041fd99"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0041ff44",
      "endVaHex": "0x00420028",
      "size": 228,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0041ff65"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0042005b",
      "endVaHex": "0x00420388",
      "size": 813,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x0042006f"
        ],
        "descriptor.slotTable": [
          "0x0042007d"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004204b6",
      "endVaHex": "0x00420548",
      "size": 146,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x004204e7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00420580",
      "endVaHex": "0x00420648",
      "size": 200,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004205b7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0042065b",
      "endVaHex": "0x004208ea",
      "size": 655,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004206ab"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00420980",
      "endVaHex": "0x004209ee",
      "size": 110,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x004209b7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x004209ee",
      "endVaHex": "0x00420b1a",
      "size": 300,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00420a37"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00420b1a",
      "endVaHex": "0x00420ebc",
      "size": 930,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00420b2e"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00420ebc",
      "endVaHex": "0x0042119b",
      "size": 735,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00420ed7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00421509",
      "endVaHex": "0x0042157b",
      "size": 114,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x00421556",
          "0x00421567"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0042177f",
      "endVaHex": "0x00421b33",
      "size": 948,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeIdOrder": [
          "0x004217a0"
        ],
        "descriptor.slotTable": [
          "0x004217ae"
        ],
        "descriptor.slotPointers": [
          "0x00421790"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0042234e",
      "endVaHex": "0x00422587",
      "size": 569,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x00422562"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00422899",
      "endVaHex": "0x00422a81",
      "size": 488,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotTable": [
          "0x00422a5c"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00422d74",
      "endVaHex": "0x00422de0",
      "size": 108,
      "role": "input-consumer",
      "refHits": {
        "input.currentActionMask": [
          "0x00422d9b",
          "0x00422da1"
        ],
        "input.edgeActionMask": [
          "0x00422d8b",
          "0x00422daf",
          "0x00422dc0"
        ]
      },
      "callHits": {
        "call.inputPacker": [
          "0x00422d91"
        ]
      },
      "hasEdgeMaskRead": true,
      "hasCurrentMaskRead": true,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x00423127",
      "endVaHex": "0x00423319",
      "size": 498,
      "role": "input-consumer",
      "refHits": {
        "input.currentActionMask": [
          "0x004232a5",
          "0x004232dc"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Input consumer only."
    },
    {
      "functionVaHex": "0x00423319",
      "endVaHex": "0x004235df",
      "size": 710,
      "role": "descriptor-materializer-helper",
      "refHits": {
        "descriptor.slotTable": [
          "0x00423428",
          "0x00423561"
        ]
      },
      "callHits": {
        "call.rebuildDescriptor": [
          "0x0042349c"
        ]
      },
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor helper/materializer context without direct input evidence."
    },
    {
      "functionVaHex": "0x00424296",
      "endVaHex": "0x00424313",
      "size": 125,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x004242cb",
          "0x004242e1"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00424313",
      "endVaHex": "0x004243c5",
      "size": 178,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x00424353",
          "0x00424369",
          "0x0042438e"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0042449c",
      "endVaHex": "0x004245da",
      "size": 318,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x0042459f"
        ],
        "map.width": [
          "0x004244df",
          "0x0042450a",
          "0x00424528",
          "0x00424537",
          "0x00424567",
          "0x00424585",
          "0x00424594"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x004245da",
      "endVaHex": "0x004248c6",
      "size": 748,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x0042461a",
          "0x00424630",
          "0x00424655"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00424cd6",
      "endVaHex": "0x00425067",
      "size": 913,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x00424fe4"
        ],
        "map.width": [
          "0x00424fc6"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00425163",
      "endVaHex": "0x0042527a",
      "size": 279,
      "role": "other",
      "refHits": {
        "map.width": [
          "0x004251ce"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x004252e4",
      "endVaHex": "0x00425403",
      "size": 287,
      "role": "other",
      "refHits": {
        "map.width": [
          "0x00425365"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00425403",
      "endVaHex": "0x004255eb",
      "size": 488,
      "role": "other",
      "refHits": {
        "map.collisionFlags": [
          "0x00425498"
        ],
        "map.width": [
          "0x0042547d",
          "0x00425557",
          "0x00425586"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Reference/call context does not match the opener frontier."
    },
    {
      "functionVaHex": "0x00430130",
      "endVaHex": "0x0043022d",
      "size": 253,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00430150"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x0043022d",
      "endVaHex": "0x004319f8",
      "size": 6091,
      "role": "active-descriptor-field-movement-controller",
      "refHits": {
        "input.currentActionMask": [
          "0x0043038e",
          "0x0043039e",
          "0x004303ae",
          "0x004303b7",
          "0x004303bf",
          "0x004303c8",
          "0x004303d0",
          "0x004303e0",
          "0x004303f0",
          "0x004303f9",
          "0x00430401",
          "0x0043040a",
          "0x00430412",
          "0x00430429",
          "0x00430440",
          "0x00430457",
          "0x004304df",
          "0x004304fe",
          "0x00430660",
          "0x0043067f",
          "0x00430806",
          "0x00430825",
          "0x004309c8",
          "0x004309e7"
        ],
        "descriptor.activeCount": [
          "0x00430239",
          "0x0043026a",
          "0x00431185",
          "0x0043146f",
          "0x004319bc"
        ],
        "descriptor.objectPointers": [
          "0x00430287",
          "0x004302ac",
          "0x004311a2",
          "0x0043149f",
          "0x0043189a",
          "0x004319d9"
        ],
        "map.collisionFlags": [
          "0x00430534",
          "0x00430541",
          "0x0043055e",
          "0x00430574",
          "0x004306b5",
          "0x004306c2",
          "0x004306df",
          "0x004306f5",
          "0x0043085b",
          "0x00430868",
          "0x00430885",
          "0x0043089b",
          "0x00430a1d",
          "0x00430a2a",
          "0x00430a47",
          "0x00430a5d"
        ],
        "map.width": [
          "0x004304b1",
          "0x00430632",
          "0x004307b2",
          "0x004307ea",
          "0x00430958",
          "0x0043099e",
          "0x00430f5d",
          "0x00431595"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": true,
      "promotion": "negative-static-proof",
      "note": "Consumes current input mask, active descriptors, and map collision data for field movement/collision; not an ESC/X menu opener."
    },
    {
      "functionVaHex": "0x004319f8",
      "endVaHex": "0x00431fe8",
      "size": 1520,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.objectPointers": [
          "0x00431a0c"
        ],
        "map.collisionFlags": [
          "0x00431ab6",
          "0x00431b54",
          "0x00431bcc"
        ],
        "map.width": [
          "0x00431a98",
          "0x00431b36",
          "0x00431bb1",
          "0x00431bef",
          "0x00431c39"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00431fe8",
      "endVaHex": "0x00432323",
      "size": 827,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00431ff4",
          "0x00432013",
          "0x00432073",
          "0x00432163",
          "0x00432184",
          "0x00432191",
          "0x00432198",
          "0x004321b8",
          "0x004322a2"
        ],
        "descriptor.activeIdOrder": [
          "0x00432169"
        ],
        "descriptor.slotTable": [
          "0x004320b2",
          "0x0043217c",
          "0x004321d0",
          "0x004321f3",
          "0x0043228e"
        ],
        "descriptor.slotPointers": [
          "0x0043218b"
        ],
        "descriptor.objectPointers": [
          "0x00432030",
          "0x00432090",
          "0x00432132",
          "0x0043214f",
          "0x004322c0"
        ],
        "descriptor.rootTable": [
          "0x004321bf"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00432323",
      "endVaHex": "0x00432541",
      "size": 542,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00432385",
          "0x004323a5",
          "0x004323c8",
          "0x004324b2"
        ],
        "descriptor.slotTable": [
          "0x004323b3",
          "0x004323e0",
          "0x00432403",
          "0x0043249e"
        ],
        "descriptor.objectPointers": [
          "0x004324d0"
        ],
        "descriptor.rootTable": [
          "0x004323cf"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00432541",
      "endVaHex": "0x00432880",
      "size": 831,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x0043254d",
          "0x0043256b",
          "0x0043264f",
          "0x00432685",
          "0x004326c4",
          "0x004326cb",
          "0x004326ea",
          "0x0043270a",
          "0x004327f4"
        ],
        "descriptor.activeIdOrder": [
          "0x00432663",
          "0x004326a5"
        ],
        "descriptor.slotTable": [
          "0x0043259b",
          "0x00432722",
          "0x00432745",
          "0x004327e0"
        ],
        "descriptor.slotPointers": [
          "0x004326b9",
          "0x004326d2"
        ],
        "descriptor.objectPointers": [
          "0x00432588",
          "0x0043261b",
          "0x00432638",
          "0x00432812"
        ],
        "descriptor.rootTable": [
          "0x00432711"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00433402",
      "endVaHex": "0x00433545",
      "size": 323,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00433491",
          "0x004334e2"
        ],
        "descriptor.slotPointers": [
          "0x004334a9",
          "0x004334b9"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00433aca",
      "endVaHex": "0x00433c99",
      "size": 463,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00433b37",
          "0x00433b68",
          "0x00433b9b"
        ],
        "descriptor.slotPointers": [
          "0x00433ade",
          "0x00433b11",
          "0x00433b7b",
          "0x00433c27"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00433c99",
      "endVaHex": "0x00433dc0",
      "size": 295,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.slotPointers": [
          "0x00433cb7"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00433dc0",
      "endVaHex": "0x00433f0e",
      "size": 334,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00433e22",
          "0x00433ea5"
        ],
        "descriptor.slotPointers": [
          "0x00433dde"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    },
    {
      "functionVaHex": "0x00435538",
      "endVaHex": "0x00435711",
      "size": 473,
      "role": "descriptor-consumer",
      "refHits": {
        "descriptor.activeCount": [
          "0x00435606"
        ],
        "descriptor.slotPointers": [
          "0x00435668",
          "0x00435678",
          "0x004356c0"
        ]
      },
      "callHits": {},
      "hasEdgeMaskRead": false,
      "hasCurrentMaskRead": false,
      "promotion": "context-only",
      "note": "Descriptor consumer only."
    }
  ],
  "nextFrontier": [
    "입력 bit 자체가 아니라 mode/state byte가 바뀐 뒤 0x62 add-descriptor가 실행되는 selected/root command stream을 찾아야 한다.",
    "topMenu sequence direct pointer는 data-only라서, parent/intermediate record를 고르는 selector table이나 descriptor id producer를 추적해야 한다.",
    "0x40/0x8a/0x87 계열 object VM selector producer가 +0x2f/+0x3d를 쓰는 위치는 이미 일부 확인됐으므로, 다음은 이 object가 어떤 descriptor id로 stack에 올라오는지 역추적한다."
  ]
}
