{"scope":"battle action text handler context inside the event/object VM dispatch table","source":["out/event_handler_text_refs.json","out/text_tables.json","out/event_dialogue_blocks.json"],"promotionStatus":"battle-action-handler-grounded-entry-dispatch-missing","battleActionHandlerGrounded":true,"battleActionOpcodeHex":"0x36","battleActionHandlerVaHex":"0x0041ff44","battleActionHandlerEndVaHex":"0x00420028","battleActionTableVaHex":"0x004d24ac","battleActionTableKey":"atahoActions","battleActionTableEntryCount":7,"battleActionTableSamples":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"],"battleActionHandlerTextTableRefCount":1,"battleActionHandlerTableRef":{"refVaHex":"0x0041ff6c","valueHex":"0x004d2488","clusterStartVaHex":"0x004d24ac","clusterEndVaHex":"0x004d24ec","entryCount":7,"sampleTexts":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"]},"battleActionHandlerDirectCallTargetCounts":{},"battleActionHandlerStorageOpcodeCount":0,"battleActionOpcodeInDialogueStorage":false,"battleEntryDispatchProofFound":false,"enemyRowProofFound":false,"formationTableProofFound":false,"rewardTableProofFound":false,"originalCombatFormulaIdentified":false,"matchedHandlerRows":[{"opcodes":["0x31"],"handlerVaHex":"0x0041f96d","endVaHex":"0x0041fb70","classification":"item-menu","textTableRefCount":5,"textTableRefs":[{"refVaHex":"0x0041f9ac","valueHex":"0x004d2488","clusterStartVaHex":"0x004d24ac","clusterEndVaHex":"0x004d24ec","entryCount":7,"sampleTexts":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"]},{"refVaHex":"0x0041f9b9","valueHex":"0x004d248c","clusterStartVaHex":"0x004d24ac","clusterEndVaHex":"0x004d24ec","entryCount":7,"sampleTexts":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"]},{"refVaHex":"0x0041f9c6","valueHex":"0x004d2490","clusterStartVaHex":"0x004d24ac","clusterEndVaHex":"0x004d24ec","entryCount":7,"sampleTexts":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"]},{"refVaHex":"0x0041f9d5","valueHex":"0x0048b97c","clusterStartVaHex":"0x0048b984","clusterEndVaHex":"0x0048b9ac","entryCount":6,"sampleTexts":["약초","해독초","리프레시 워터","마법의 물약","고급한방약","마수석"]},{"refVaHex":"0x0041f9e1","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]}],"directCallTargetCounts":{"0x004173db":1,"0x004175d3":1,"0x0041b369":2,"0x0042119b":1},"samples":"정권, 돌려차기, 던지기, 마시기, 마시기, 마시기, 마시기, 정권","codeBytesPrefix":"55 8b ec 83 ec 18 53 56 57 c7 45 ec 00 00 00 00 e9 03 00 00 00 ff 45 ec 33 c0 a0 d8 e2 59 00 3b 45 ec 0f 86 ab 01 00 00 8b 45 ec 8b 0d a8 e2 59 00 33 d2 8a 14 81 89 55 e8 e9 44 00 00 00 a1 88 24 4d 00 89 45 fc e9 79 00 00 00 a1 8c 24 4d 00 89 45 fc e9 6c 00 00 00 a1 90 24 4d 00 89 45 fc e9 5f 00 00 00 c7 45 fc 7c b9 48 00 e9 53 00 00 00 c7 45 fc dc b1 48 00 e9 47 00 00 00 e9 42 00 00 00 83 7d e8 0d 0f 87 38 00 00 00 8b 45 e8 33 c9 8a 88 23 fa 41 00 ff 24 8d 0b fa 41 00 ab f9"},{"opcodes":["0x36"],"handlerVaHex":"0x0041ff44","endVaHex":"0x00420028","classification":"battle-action","textTableRefCount":1,"textTableRefs":[{"refVaHex":"0x0041ff6c","valueHex":"0x004d2488","clusterStartVaHex":"0x004d24ac","clusterEndVaHex":"0x004d24ec","entryCount":7,"sampleTexts":["정권","돌려차기","던지기","마시기","마시기","마시기","마시기"]}],"directCallTargetCounts":{},"samples":"정권, 돌려차기, 던지기, 마시기, 마시기, 마시기, 마시기","codeBytesPrefix":"55 8b ec 83 ec 04 53 56 57 8b 45 08 83 78 58 00 0f 84 2a 00 00 00 33 c0 a0 3e e3 59 00 33 c9 8a 88 e9 76 45 00 8b 04 8d 88 24 4d 00 8b 4d 08 8b 49 58 8b 04 c8 8a 40 10 88 45 fc e9 04 00 00 00 c6 45 fc 00 33 c0 8a 45 fc 3d ff 00 00 00 0f 85 04 00 00 00 c6 45 fc 00 8b 45 08 8b 80 b0 00 00 00 33 c9 8a 48 02 33 c0 8a 45 fc 3b c8 0f 8f 12 00 00 00 8b 45 08 8b 80 b0 00 00 00 33 c9 8a 48 02 49 88 4d fc 8b 45 08 8b 80 b0 00 00 00 33 c9 8a 48 02 8d 04 8d 00 00 00 00 8b 4d 08 03 81 b0"},{"opcodes":["0x38"],"handlerVaHex":"0x0042005b","endVaHex":"0x004204b6","classification":"text-table","textTableRefCount":10,"textTableRefs":[{"refVaHex":"0x00420117","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x0042012f","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x00420195","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x004201ad","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x00420213","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x0042022b","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x00420291","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x004202a9","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x0042030f","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]},{"refVaHex":"0x00420327","valueHex":"0x0048b1dc","clusterStartVaHex":"0x0048b1e4","clusterEndVaHex":"0x0048b1e4","entryCount":1,"sampleTexts":["맨주먹"]}],"directCallTargetCounts":{"0x004175d3":3,"0x00420388":5,"0x0042119b":3},"samples":"맨주먹, 맨주먹, 맨주먹, 맨주먹, 맨주먹, 맨주먹, 맨주먹, 맨주먹","codeBytesPrefix":"55 8b ec 83 ec 18 53 56 57 33 c0 a0 3e e3 59 00 33 c9 8a 88 e9 76 45 00 8d 04 49 c1 e0 03 8d 04 c0 05 50 77 45 00 89 45 fc 33 c0 a0 44 e3 59 00 89 45 e8 e9 4b 00 00 00 33 c0 a0 4a e3 59 00 8b 4d fc 33 d2 8a 54 08 4a 89 55 ec 8b 45 fc 33 c9 8a 48 49 89 4d f0 e9 41 00 00 00 8b 45 fc 33 c9 8a 48 48 89 4d ec 33 c0 a0 4a e3 59 00 8b 4d fc 33 d2 8a 54 08 50 89 55 f0 e9 1e 00 00 00 e9 19 00 00 00 83 7d e8 00 0f 84 ab ff ff ff 83 7d e8 01 0f 84 c4 ff ff ff e9 00 00 00 00 8b 45 08 8b"}],"checks":{"battleActionHandlerGrounded":true,"battleActionTextTableGrounded":true,"battleActionOpcodeAbsentFromDialogueStorage":true,"battleEntryDispatchProofFound":false,"originalCombatFormulaIdentified":false},"missingEvidence":["event/object VM command storage that executes opcode 0x36 from a battle-entry path","handler/call edge from event VM battle action handler to battle scene entry","enemy row or formation table consumed by this handler","original combat formula or reward table writes reached from this handler"],"conclusion":"Event/object VM opcode 0x36 is grounded as a battle-action text handler because handler 0x0041ff44 references the 0x004d24ac action text table (정권/돌려차기/던지기/마시기). That is useful original battle UI/action evidence, but opcode 0x36 does not appear in the current dialogue storage scan and there is no proven event path from a btl_* dialogue candidate into a battle scene, enemy row, formation, reward table, or combat formula."}