{
  "version": 1,
  "kind": "hwanse-status-comment-backing-base-ref-review",
  "sourceArtifacts": [
    "out/status_comment_backing_writer_scan.json"
  ],
  "summary": {
    "backingBaseVaHex": "0x004576d8",
    "backingSizeHex": "0x72",
    "offset0RawRefCount": 6,
    "classificationCounts": {
      "object-a8-backing-base-bind": 2,
      "backing-subpointer-plus-0x20": 1,
      "backing-subpointer-plus-0x14": 1,
      "backing-block-transfer-arg": 2
    },
    "functionCounts": {
      "0x004064d5": 1,
      "0x0041d89d": 1,
      "0x0042224b": 2,
      "0x00423319": 2
    },
    "objectA8BackingBaseBindCount": 2,
    "blockTransferArgCount": 2,
    "selectorByteValueWriterProven": false,
    "decision": "Backing-base binding is proven: object+0xa8 is assigned 0x004576d8 at two sites. These sites establish the status/menu selector base, but they do not write the selector byte at backing +0."
  },
  "rows": [
    {
      "refVaHex": "0x004064e4",
      "functionVaHex": "0x004064d5",
      "functionEndVaHex": "0x004064f4",
      "contextHex": "45 08 c7 80 a8 00 00 00 d8 76 45 00 8b 45 08 83 40 40 04 5f",
      "classification": "object-a8-backing-base-bind",
      "confidence": "high",
      "meaning": "writes immediate 0x004576d8 into object+0xa8; this is the base binding used by 0x40 status/menu selector reads"
    },
    {
      "refVaHex": "0x0041d8d7",
      "functionVaHex": "0x0041d89d",
      "functionEndVaHex": "0x0041d962",
      "contextHex": "45 08 c7 80 a8 00 00 00 d8 76 45 00 e9 73 00 00 00 8b 45 08",
      "classification": "object-a8-backing-base-bind",
      "confidence": "high",
      "meaning": "writes immediate 0x004576d8 into object+0xa8; this is the base binding used by 0x40 status/menu selector reads"
    },
    {
      "refVaHex": "0x00422262",
      "functionVaHex": "0x0042224b",
      "functionEndVaHex": "0x0042234e",
      "contextHex": "c0 0f 84 10 00 00 00 b8 d8 76 45 00 83 c0 20 89 45 f8 e9 0b",
      "classification": "backing-subpointer-plus-0x20",
      "confidence": "high",
      "meaning": "derives pointer 0x004576d8+0x20 for adjacent status/menu data"
    },
    {
      "refVaHex": "0x00422272",
      "functionVaHex": "0x0042224b",
      "functionEndVaHex": "0x0042234e",
      "contextHex": "45 f8 e9 0b 00 00 00 b8 d8 76 45 00 83 c0 14 89 45 f8 33 c0",
      "classification": "backing-subpointer-plus-0x14",
      "confidence": "high",
      "meaning": "derives pointer 0x004576d8+0x14 for adjacent status/menu data"
    },
    {
      "refVaHex": "0x004233fc",
      "functionVaHex": "0x00423319",
      "functionEndVaHex": "0x004235df",
      "contextHex": "00 8d 45 e8 50 6a 72 68 d8 76 45 00 8b 45 e4 50 ff 15 1c 04",
      "classification": "backing-block-transfer-arg",
      "confidence": "medium-high",
      "meaning": "pushes backing base with size 0x72 to an imported/helper routine; likely save/load or block copy path"
    },
    {
      "refVaHex": "0x00423535",
      "functionVaHex": "0x00423319",
      "functionEndVaHex": "0x004235df",
      "contextHex": "00 8d 45 e8 50 6a 72 68 d8 76 45 00 8b 45 e4 50 ff 15 04 04",
      "classification": "backing-block-transfer-arg",
      "confidence": "medium-high",
      "meaning": "pushes backing base with size 0x72 to an imported/helper routine; likely save/load or block copy path"
    }
  ]
}