{
  "checkedAt": "2026-10-28T06:40:42.054788+00:00",
  "executableSha256": "c40583d707af7abd9b8568e2ed5a4f117f27a775dca617c8d7b873d76772dd6d",
  "originalWindowsRuntimeVerified": false,
  "method": "Complete original x86 enum function and crop arithmetic in Unicorn; static resource/array/stride call-site signatures. No patched instructions or replacement enum implementation.",
  "resourcePath": "art\\interface\\NormButtons.pcx",
  "atlasSource": "Conquests/Art/interface/normbuttons.pcx",
  "atlasSize": [
    257,
    320
  ],
  "cellSize": [
    32,
    32
  ],
  "stateCellCount": 59,
  "spriteStructureBytes": 44,
  "blocks": [
    {
      "start": "0x5508e0",
      "end": "0x550b60",
      "purpose": "Complete native command enum function, including jump table",
      "bytes": "8b44240483ec4483f8040f8752020000ff24854c0b55008b44244c83f8070f8d3e020000c744240001000000c744240402000000c744240804000000c744240c08000000c744241010000000c744241420000000c7442418400000008b44840083c444c208008b44244c83f80d0f8def010000c744240001000010c744240402000010c744240804000010c744240c08000010c744241010000010c744241420000010c744241840000010c744241c80000010c744242000010010c744242400020010c744242800800010c744242c00001010c7442430000020108b44840083c444c208008b44244c83f8110f8d70010000c744240001000020c744240402000020c744240804000020c744240c08000020c744241010000020c744241420000020c744241840000020c744241c80000020c744242000010020c744242400020020c744242800040020c744242c00080020c744243000100020c744243400200020c744243800400020c744243c00800020c7442440000001208b44840083c444c208008b44244c83f8050f8dd1000000c744240001000030c744240402000030c744240804000030c744240c08000030c7442410100000308b44840083c444c208008b44244c83f8110f8d92000000c744240001000040c744240402000040c744240804000040c744240c08000040c744241010000040c744241420000040c744241840000040c744241c80000040c744242000010040c744242400020040c744242800040040c744242c00080040c744243000100040c744243400200040c744243800400040c744243c00800040c7442440000001408b44840083c444c2080033c083c444c208008bfff708550046095500c5095500640a5500a30a5500",
      "sha256": "90f681168f3305ba490cc96e7e211774629e6d2ae477dd6d142b39554063a3fd"
    },
    {
      "start": "0x556bd8",
      "end": "0x556c09",
      "purpose": "Unmodified atlas crop arithmetic before the external sprite constructor",
      "bytes": "8bc68b4c24109983e2076a0003c26a01c1f8030fafc18bd6515781e2070000805079054a83caf8420fafd78d4424305250",
      "sha256": "c8c926bf446103ff9d6260ce8997914a9c4adadce00e4d19ca1ebb4c45134369"
    }
  ],
  "checks": [
    {
      "address": "0x556b3a",
      "bytes": "6838c77200",
      "meaning": "Load the original NormButtons resource path"
    },
    {
      "address": "0x556bc0",
      "bytes": "8d9d804b0100",
      "meaning": "Normal-state sprite array base"
    },
    {
      "address": "0x556c11",
      "bytes": "83c32c",
      "meaning": "Sprite structure stride44"
    },
    {
      "address": "0x556c14",
      "bytes": "8d4e0683f941",
      "meaning": "59 atlas cells: stop when index+6 reaches65"
    },
    {
      "address": "0x550c79",
      "bytes": "8d86a4550100",
      "meaning": "First ordinary button rollover sprite"
    },
    {
      "address": "0x551394",
      "bytes": "8d86005c0100",
      "meaning": "First air button rollover sprite"
    },
    {
      "address": "0x5513be",
      "bytes": "6a038bcee819f5ffff",
      "meaning": "Air buttons dispatch enum category3"
    },
    {
      "address": "0x55141a",
      "bytes": "8d90dcf5ffff",
      "meaning": "Normal sprite is rollover minus59 structures"
    },
    {
      "address": "0x551423",
      "bytes": "05240a0000",
      "meaning": "Pressed sprite is rollover plus59 structures"
    },
    {
      "address": "0x551479",
      "bytes": "83c22c",
      "meaning": "Next air button advances one sprite"
    },
    {
      "address": "0x55147c",
      "bytes": "83f805",
      "meaning": "Exactly five air-command slots"
    }
  ],
  "caseCount": 67,
  "cases": [
    {
      "kind": "command-enum",
      "category": 3,
      "index": 0,
      "command": "0x30000001"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 1,
      "command": "0x30000002"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 2,
      "command": "0x30000004"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 3,
      "command": "0x30000008"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 4,
      "command": "0x30000010"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 5,
      "command": "0x0"
    },
    {
      "kind": "command-enum",
      "category": 3,
      "index": 6,
      "command": "0x0"
    },
    {
      "kind": "command-enum",
      "category": 5,
      "index": 0,
      "command": "0x0"
    },
    {
      "kind": "atlas-crop",
      "slot": 0,
      "crop": [
        0,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 1,
      "crop": [
        32,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 2,
      "crop": [
        64,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 3,
      "crop": [
        96,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 4,
      "crop": [
        128,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 5,
      "crop": [
        160,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 6,
      "crop": [
        192,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 7,
      "crop": [
        224,
        0,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 8,
      "crop": [
        0,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 9,
      "crop": [
        32,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 10,
      "crop": [
        64,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 11,
      "crop": [
        96,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 12,
      "crop": [
        128,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 13,
      "crop": [
        160,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 14,
      "crop": [
        192,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 15,
      "crop": [
        224,
        32,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 16,
      "crop": [
        0,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 17,
      "crop": [
        32,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 18,
      "crop": [
        64,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 19,
      "crop": [
        96,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 20,
      "crop": [
        128,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 21,
      "crop": [
        160,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 22,
      "crop": [
        192,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 23,
      "crop": [
        224,
        64,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 24,
      "crop": [
        0,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 25,
      "crop": [
        32,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 26,
      "crop": [
        64,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 27,
      "crop": [
        96,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 28,
      "crop": [
        128,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 29,
      "crop": [
        160,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 30,
      "crop": [
        192,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 31,
      "crop": [
        224,
        96,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 32,
      "crop": [
        0,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 33,
      "crop": [
        32,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 34,
      "crop": [
        64,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 35,
      "crop": [
        96,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 36,
      "crop": [
        128,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 37,
      "crop": [
        160,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 38,
      "crop": [
        192,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 39,
      "crop": [
        224,
        128,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 40,
      "crop": [
        0,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 41,
      "crop": [
        32,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 42,
      "crop": [
        64,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 43,
      "crop": [
        96,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 44,
      "crop": [
        128,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 45,
      "crop": [
        160,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 46,
      "crop": [
        192,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 47,
      "crop": [
        224,
        160,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 48,
      "crop": [
        0,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 49,
      "crop": [
        32,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 50,
      "crop": [
        64,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 51,
      "crop": [
        96,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 52,
      "crop": [
        128,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 53,
      "crop": [
        160,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 54,
      "crop": [
        192,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 55,
      "crop": [
        224,
        192,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 56,
      "crop": [
        0,
        224,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 57,
      "crop": [
        32,
        224,
        32,
        32
      ]
    },
    {
      "kind": "atlas-crop",
      "slot": 58,
      "crop": [
        64,
        224,
        32,
        32
      ]
    }
  ],
  "bindings": [
    {
      "mission": "bombing",
      "command": "0x30000001",
      "slot": 37,
      "sourceCrop": [
        160,
        128,
        32,
        32
      ],
      "cssPosition": "-160px -128px"
    },
    {
      "mission": "recon",
      "command": "0x30000002",
      "slot": 38,
      "sourceCrop": [
        192,
        128,
        32,
        32
      ],
      "cssPosition": "-192px -128px"
    },
    {
      "mission": "intercept",
      "command": "0x30000004",
      "slot": 39,
      "sourceCrop": [
        224,
        128,
        32,
        32
      ],
      "cssPosition": "-224px -128px"
    },
    {
      "mission": "rebase",
      "command": "0x30000008",
      "slot": 40,
      "sourceCrop": [
        0,
        160,
        32,
        32
      ],
      "cssPosition": "0px -160px"
    },
    {
      "mission": "precision",
      "command": "0x30000010",
      "slot": 41,
      "sourceCrop": [
        32,
        160,
        32,
        32
      ],
      "cssPosition": "-32px -160px"
    }
  ],
  "sourceFiles": [
    {
      "path": "Conquests/Art/interface/normbuttons.pcx",
      "sha256": "2a892c5ea0222bac6774e4f86a85f60b96058a1cf64b04381865e10effde8201"
    },
    {
      "path": "Conquests/Art/interface/rolloverbuttons.PCX",
      "sha256": "ab163888bb20e1b18adcb1a50c7b2a71d21a4c80aa1ecea9b6e6218e60bc330a"
    },
    {
      "path": "Conquests/Art/interface/highlightedbuttons.PCX",
      "sha256": "0d7cd4cc530ed8c1050b1c2e67e60a4fea303015ca1e58f7fd2948ee12340c79"
    },
    {
      "path": "Conquests/Art/interface/ButtonAlpha.pcx",
      "sha256": "e4b3bc3da79880cd48c5a58497cb1237d235a7c5bb2cead6320c9a8d4a73cb39"
    }
  ],
  "open": [
    "The full Windows UI and resource search precedence are not executed.",
    "Only recon and rebase commands are currently enabled; the other three bindings prepare future combat missions."
  ]
}
