{ "schema_version": "crusader-usecode-ir-v1-poc", "source": { "flex_path": "USECODE/EUSECODE.FLX", "extracted_root": "USECODE/EUSECODE_extracted", "chunk_file": "USECODE/EUSECODE_extracted/chunks/chunk_191_table_1BA8_off_04C347_len_0003A8.bin" }, "class": { "entry_index": 191, "object_index": 869, "class_id": 867, "class_name": "NPCTRIG", "raw_code_base_u32": 218, "code_base_minus_one": 217, "conservative_event_count": 33 }, "event": { "slot": 10, "event_name_hint": "equip", "raw_event_entry_word": 373, "raw_code_offset": 1, "derived_body_start": 218, "derived_body_end": 591, "derived_body_length": 373, "repeated_template_status": "" }, "body": { "end_reason": "debug_symbols_then_end", "raw_body_sha1": "98524ea452eae2723f4b27e630c33a920c16def7", "unknown_trailing_bytes": "", "decoded_op_count": 111, "debug_symbol_offset": 323, "debug_symbol_count": 5, "field_tag_count": 0 }, "ops": [ { "offset": 0, "absolute_body_offset": 218, "opcode": 90, "mnemonic": "init", "raw_bytes": "5a06", "operands": { "local_bytes": 6 } }, { "offset": 2, "absolute_body_offset": 220, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5c3e014e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 14, "absolute_body_offset": 232, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b1102", "operands": { "value_u16": 529 } }, { "offset": 17, "absolute_body_offset": 235, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 19, "absolute_body_offset": 237, "opcode": 76, "mnemonic": "push_indirect", "raw_bytes": "4c02", "operands": { "size": 2 } }, { "offset": 21, "absolute_body_offset": 239, "opcode": 119, "mnemonic": "set_info", "raw_bytes": "77", "operands": {} }, { "offset": 22, "absolute_body_offset": 240, "opcode": 120, "mnemonic": "process_exclude", "raw_bytes": "78", "operands": {} }, { "offset": 23, "absolute_body_offset": 241, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b2000", "operands": { "line_number": 32 } }, { "offset": 26, "absolute_body_offset": 244, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b1f00", "operands": { "line_number": 31 } }, { "offset": 29, "absolute_body_offset": 247, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 31, "absolute_body_offset": 249, "opcode": 15, "mnemonic": "call_intrinsic", "raw_bytes": "0f040400", "operands": { "arg_bytes": 4, "intrinsic_ordinal": 4, "intrinsic_name_hint": "Item::getStatus(void)" } }, { "offset": 35, "absolute_body_offset": 253, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efc", "operands": { "value_u8": 252 } }, { "offset": 37, "absolute_body_offset": 255, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 38, "absolute_body_offset": 256, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b2000", "operands": { "line_number": 32 } }, { "offset": 41, "absolute_body_offset": 259, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b0010", "operands": { "value_u16": 4096 } }, { "offset": 44, "absolute_body_offset": 262, "opcode": 57, "mnemonic": "bit_and", "raw_bytes": "39", "operands": {} }, { "offset": 45, "absolute_body_offset": 263, "opcode": 81, "mnemonic": "jne", "raw_bytes": "510600", "operands": { "relative_u16": 6, "relative_signed": 6, "target_offset": 54 } }, { "offset": 48, "absolute_body_offset": 266, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b2100", "operands": { "line_number": 33 } }, { "offset": 51, "absolute_body_offset": 269, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "520901", "operands": { "relative_u16": 265, "relative_signed": 265, "target_offset": 319 } }, { "offset": 54, "absolute_body_offset": 272, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b2400", "operands": { "line_number": 36 } }, { "offset": 57, "absolute_body_offset": 275, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b0010", "operands": { "value_u16": 4096 } }, { "offset": 60, "absolute_body_offset": 278, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 62, "absolute_body_offset": 280, "opcode": 17, "mnemonic": "call_class_event", "raw_bytes": "111e0a2300", "operands": { "target_class_id": 2590, "target_event_slot": 35, "target_event_name_hint": null } }, { "offset": 67, "absolute_body_offset": 285, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efa", "operands": { "value_u8": 250 } }, { "offset": 69, "absolute_body_offset": 287, "opcode": 63, "mnemonic": "push_local_word", "raw_bytes": "3f0a", "operands": { "bp_offset": 10, "target": "[BP+0Ah]" } }, { "offset": 71, "absolute_body_offset": 289, "opcode": 10, "mnemonic": "push_byte_immediate", "raw_bytes": "0a01", "operands": { "value_u8": 1, "value_signed": 1 } }, { "offset": 73, "absolute_body_offset": 291, "opcode": 36, "mnemonic": "cmp", "raw_bytes": "24", "operands": {} }, { "offset": 74, "absolute_body_offset": 292, "opcode": 81, "mnemonic": "jne", "raw_bytes": "512700", "operands": { "relative_u16": 39, "relative_signed": 39, "target_offset": 116 } }, { "offset": 77, "absolute_body_offset": 295, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b2c00", "operands": { "line_number": 44 } }, { "offset": 80, "absolute_body_offset": 298, "opcode": 89, "mnemonic": "push_pid", "raw_bytes": "59", "operands": {} }, { "offset": 81, "absolute_body_offset": 299, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0bfd02", "operands": { "value_u16": 765 } }, { "offset": 84, "absolute_body_offset": 302, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 86, "absolute_body_offset": 304, "opcode": 87, "mnemonic": "spawn", "raw_bytes": "57020263032000", "operands": { "arg_bytes": 2, "this_size": 2, "target_class_id": 867, "target_event_slot": 32, "target_event_name_hint": null } }, { "offset": 93, "absolute_body_offset": 311, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efe", "operands": { "value_u8": 254 } }, { "offset": 95, "absolute_body_offset": 313, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 96, "absolute_body_offset": 314, "opcode": 84, "mnemonic": "implies", "raw_bytes": "540101", "operands": { "arg0": 1, "arg1": 1 } }, { "offset": 99, "absolute_body_offset": 317, "opcode": 18, "mnemonic": "pop_temp", "raw_bytes": "12", "operands": {} }, { "offset": 100, "absolute_body_offset": 318, "opcode": 83, "mnemonic": "suspend", "raw_bytes": "53", "operands": {} }, { "offset": 101, "absolute_body_offset": 319, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5cdb004e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 113, "absolute_body_offset": 331, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "52bc00", "operands": { "relative_u16": 188, "relative_signed": 188, "target_offset": 304 } }, { "offset": 116, "absolute_body_offset": 334, "opcode": 63, "mnemonic": "push_local_word", "raw_bytes": "3f0a", "operands": { "bp_offset": 10, "target": "[BP+0Ah]" } }, { "offset": 118, "absolute_body_offset": 336, "opcode": 10, "mnemonic": "push_byte_immediate", "raw_bytes": "0a02", "operands": { "value_u8": 2, "value_signed": 2 } }, { "offset": 120, "absolute_body_offset": 338, "opcode": 36, "mnemonic": "cmp", "raw_bytes": "24", "operands": {} }, { "offset": 121, "absolute_body_offset": 339, "opcode": 81, "mnemonic": "jne", "raw_bytes": "512700", "operands": { "relative_u16": 39, "relative_signed": 39, "target_offset": 163 } }, { "offset": 124, "absolute_body_offset": 342, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b3100", "operands": { "line_number": 49 } }, { "offset": 127, "absolute_body_offset": 345, "opcode": 89, "mnemonic": "push_pid", "raw_bytes": "59", "operands": {} }, { "offset": 128, "absolute_body_offset": 346, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b8403", "operands": { "value_u16": 900 } }, { "offset": 131, "absolute_body_offset": 349, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 133, "absolute_body_offset": 351, "opcode": 87, "mnemonic": "spawn", "raw_bytes": "57020263032000", "operands": { "arg_bytes": 2, "this_size": 2, "target_class_id": 867, "target_event_slot": 32, "target_event_name_hint": null } }, { "offset": 140, "absolute_body_offset": 358, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efe", "operands": { "value_u8": 254 } }, { "offset": 142, "absolute_body_offset": 360, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 143, "absolute_body_offset": 361, "opcode": 84, "mnemonic": "implies", "raw_bytes": "540101", "operands": { "arg0": 1, "arg1": 1 } }, { "offset": 146, "absolute_body_offset": 364, "opcode": 18, "mnemonic": "pop_temp", "raw_bytes": "12", "operands": {} }, { "offset": 147, "absolute_body_offset": 365, "opcode": 83, "mnemonic": "suspend", "raw_bytes": "53", "operands": {} }, { "offset": 148, "absolute_body_offset": 366, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5cac004e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 160, "absolute_body_offset": 378, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "528d00", "operands": { "relative_u16": 141, "relative_signed": 141, "target_offset": 304 } }, { "offset": 163, "absolute_body_offset": 381, "opcode": 63, "mnemonic": "push_local_word", "raw_bytes": "3f0a", "operands": { "bp_offset": 10, "target": "[BP+0Ah]" } }, { "offset": 165, "absolute_body_offset": 383, "opcode": 10, "mnemonic": "push_byte_immediate", "raw_bytes": "0a03", "operands": { "value_u8": 3, "value_signed": 3 } }, { "offset": 167, "absolute_body_offset": 385, "opcode": 36, "mnemonic": "cmp", "raw_bytes": "24", "operands": {} }, { "offset": 168, "absolute_body_offset": 386, "opcode": 81, "mnemonic": "jne", "raw_bytes": "512700", "operands": { "relative_u16": 39, "relative_signed": 39, "target_offset": 210 } }, { "offset": 171, "absolute_body_offset": 389, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b3600", "operands": { "line_number": 54 } }, { "offset": 174, "absolute_body_offset": 392, "opcode": 89, "mnemonic": "push_pid", "raw_bytes": "59", "operands": {} }, { "offset": 175, "absolute_body_offset": 393, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b7103", "operands": { "value_u16": 881 } }, { "offset": 178, "absolute_body_offset": 396, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 180, "absolute_body_offset": 398, "opcode": 87, "mnemonic": "spawn", "raw_bytes": "57020263032000", "operands": { "arg_bytes": 2, "this_size": 2, "target_class_id": 867, "target_event_slot": 32, "target_event_name_hint": null } }, { "offset": 187, "absolute_body_offset": 405, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efe", "operands": { "value_u8": 254 } }, { "offset": 189, "absolute_body_offset": 407, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 190, "absolute_body_offset": 408, "opcode": 84, "mnemonic": "implies", "raw_bytes": "540101", "operands": { "arg0": 1, "arg1": 1 } }, { "offset": 193, "absolute_body_offset": 411, "opcode": 18, "mnemonic": "pop_temp", "raw_bytes": "12", "operands": {} }, { "offset": 194, "absolute_body_offset": 412, "opcode": 83, "mnemonic": "suspend", "raw_bytes": "53", "operands": {} }, { "offset": 195, "absolute_body_offset": 413, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5c7d004e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 207, "absolute_body_offset": 425, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "525e00", "operands": { "relative_u16": 94, "relative_signed": 94, "target_offset": 304 } }, { "offset": 210, "absolute_body_offset": 428, "opcode": 63, "mnemonic": "push_local_word", "raw_bytes": "3f0a", "operands": { "bp_offset": 10, "target": "[BP+0Ah]" } }, { "offset": 212, "absolute_body_offset": 430, "opcode": 10, "mnemonic": "push_byte_immediate", "raw_bytes": "0a04", "operands": { "value_u8": 4, "value_signed": 4 } }, { "offset": 214, "absolute_body_offset": 432, "opcode": 36, "mnemonic": "cmp", "raw_bytes": "24", "operands": {} }, { "offset": 215, "absolute_body_offset": 433, "opcode": 81, "mnemonic": "jne", "raw_bytes": "512700", "operands": { "relative_u16": 39, "relative_signed": 39, "target_offset": 257 } }, { "offset": 218, "absolute_body_offset": 436, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b3b00", "operands": { "line_number": 59 } }, { "offset": 221, "absolute_body_offset": 439, "opcode": 89, "mnemonic": "push_pid", "raw_bytes": "59", "operands": {} }, { "offset": 222, "absolute_body_offset": 440, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0bd104", "operands": { "value_u16": 1233 } }, { "offset": 225, "absolute_body_offset": 443, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 227, "absolute_body_offset": 445, "opcode": 87, "mnemonic": "spawn", "raw_bytes": "57020263032000", "operands": { "arg_bytes": 2, "this_size": 2, "target_class_id": 867, "target_event_slot": 32, "target_event_name_hint": null } }, { "offset": 234, "absolute_body_offset": 452, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efe", "operands": { "value_u8": 254 } }, { "offset": 236, "absolute_body_offset": 454, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 237, "absolute_body_offset": 455, "opcode": 84, "mnemonic": "implies", "raw_bytes": "540101", "operands": { "arg0": 1, "arg1": 1 } }, { "offset": 240, "absolute_body_offset": 458, "opcode": 18, "mnemonic": "pop_temp", "raw_bytes": "12", "operands": {} }, { "offset": 241, "absolute_body_offset": 459, "opcode": 83, "mnemonic": "suspend", "raw_bytes": "53", "operands": {} }, { "offset": 242, "absolute_body_offset": 460, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5c4e004e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 254, "absolute_body_offset": 472, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "522f00", "operands": { "relative_u16": 47, "relative_signed": 47, "target_offset": 304 } }, { "offset": 257, "absolute_body_offset": 475, "opcode": 63, "mnemonic": "push_local_word", "raw_bytes": "3f0a", "operands": { "bp_offset": 10, "target": "[BP+0Ah]" } }, { "offset": 259, "absolute_body_offset": 477, "opcode": 10, "mnemonic": "push_byte_immediate", "raw_bytes": "0a05", "operands": { "value_u8": 5, "value_signed": 5 } }, { "offset": 261, "absolute_body_offset": 479, "opcode": 36, "mnemonic": "cmp", "raw_bytes": "24", "operands": {} }, { "offset": 262, "absolute_body_offset": 480, "opcode": 81, "mnemonic": "jne", "raw_bytes": "512700", "operands": { "relative_u16": 39, "relative_signed": 39, "target_offset": 304 } }, { "offset": 265, "absolute_body_offset": 483, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b4000", "operands": { "line_number": 64 } }, { "offset": 268, "absolute_body_offset": 486, "opcode": 89, "mnemonic": "push_pid", "raw_bytes": "59", "operands": {} }, { "offset": 269, "absolute_body_offset": 487, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0bb401", "operands": { "value_u16": 436 } }, { "offset": 272, "absolute_body_offset": 490, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 274, "absolute_body_offset": 492, "opcode": 87, "mnemonic": "spawn", "raw_bytes": "57020263032000", "operands": { "arg_bytes": 2, "this_size": 2, "target_class_id": 867, "target_event_slot": 32, "target_event_name_hint": null } }, { "offset": 281, "absolute_body_offset": 499, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efe", "operands": { "value_u8": 254 } }, { "offset": 283, "absolute_body_offset": 501, "opcode": 94, "mnemonic": "push_retval_word", "raw_bytes": "5e", "operands": {} }, { "offset": 284, "absolute_body_offset": 502, "opcode": 84, "mnemonic": "implies", "raw_bytes": "540101", "operands": { "arg0": 1, "arg1": 1 } }, { "offset": 287, "absolute_body_offset": 505, "opcode": 18, "mnemonic": "pop_temp", "raw_bytes": "12", "operands": {} }, { "offset": 288, "absolute_body_offset": 506, "opcode": 83, "mnemonic": "suspend", "raw_bytes": "53", "operands": {} }, { "offset": 289, "absolute_body_offset": 507, "opcode": 92, "mnemonic": "symbol_info", "raw_bytes": "5c1f004e5043545249470000", "operands": { "symbol_offset": 323, "symbol": "NPCTRIG", "trailing_zero": 0 } }, { "offset": 301, "absolute_body_offset": 519, "opcode": 82, "mnemonic": "jmp", "raw_bytes": "520000", "operands": { "relative_u16": 0, "relative_signed": 0, "target_offset": 304 } }, { "offset": 304, "absolute_body_offset": 522, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b4500", "operands": { "line_number": 69 } }, { "offset": 307, "absolute_body_offset": 525, "opcode": 11, "mnemonic": "push_word_immediate", "raw_bytes": "0b0010", "operands": { "value_u16": 4096 } }, { "offset": 310, "absolute_body_offset": 528, "opcode": 64, "mnemonic": "push_local_dword", "raw_bytes": "4006", "operands": { "bp_offset": 6, "target": "[BP+06h]" } }, { "offset": 312, "absolute_body_offset": 530, "opcode": 17, "mnemonic": "call_class_event", "raw_bytes": "111e0a2400", "operands": { "target_class_id": 2590, "target_event_slot": 36, "target_event_name_hint": null } }, { "offset": 317, "absolute_body_offset": 535, "opcode": 110, "mnemonic": "add_sp", "raw_bytes": "6efa", "operands": { "value_u8": 250 } }, { "offset": 319, "absolute_body_offset": 537, "opcode": 91, "mnemonic": "line_number", "raw_bytes": "5b4700", "operands": { "line_number": 71 } }, { "offset": 322, "absolute_body_offset": 540, "opcode": 80, "mnemonic": "ret", "raw_bytes": "50", "operands": {} } ], "debug_symbols": [ { "index": 0, "unknown1": 1, "type_id": 105, "type_char": "i", "bp_offset": 0, "bp_repr": "[BP+00h]", "unknown3": 0, "name": "referent" }, { "index": 1, "unknown1": 0, "type_id": 105, "type_char": "i", "bp_offset": 10, "bp_repr": "[BP+0Ah]", "unknown3": 0, "name": "event" }, { "index": 2, "unknown1": 0, "type_id": 36, "type_char": "$", "bp_offset": 254, "bp_repr": "[BP-02h]", "unknown3": 2, "name": "item" }, { "index": 3, "unknown1": 0, "type_id": 36, "type_char": "$", "bp_offset": 252, "bp_repr": "[BP-04h]", "unknown3": 2, "name": "item2" }, { "index": 4, "unknown1": 0, "type_id": 36, "type_char": "$", "bp_offset": 250, "bp_repr": "[BP-06h]", "unknown3": 2, "name": "n" } ], "field_tags": [], "annotation_hints": { "runtime_family": "slot-backed-owner-loaded-body", "payload_shape_hint": "word", "compiled_anchors": [ { "address": "000d:46ec", "role": "context_create_from_slot" }, { "address": "000d:0988", "role": "referent_chain_mutator" }, { "address": "000d:177c", "role": "push_frame_word_literal" }, { "address": "000d:1acb", "role": "compare_stream_dword_and_push_bool" }, { "address": "000d:208b", "role": "materialize_or_forward_value" }, { "address": "000d:21ed", "role": "prepend_inline_payload" }, { "address": "000d:22bc", "role": "matrix_pushback_stage" }, { "address": "000d:2104", "role": "finalize_to_outptr" }, { "address": "000d:ebe3", "role": "opcode_sequence_run" } ], "runtime_stage_hints": [ { "stage_address": "000d:177c", "ir_name": "PUSH_FRAME_WORD_LITERAL", "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", "payload_shape": "word scalar pushed to stream stack", "evidence": "000d:177c subtracts 2 from [context+0xcc] and stores frame-local word before entity_vm_opcode_finish" }, { "stage_address": "000d:1acb", "ir_name": "COMPARE_STREAM_DWORD_AND_PUSH_BOOL", "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", "payload_shape": "stream dword pair consumed, predicate word emitted", "evidence": "000d:1acb reads one 32-bit pair from stream, compares against AX:DX, pushes boolean word result" }, { "stage_address": "000d:21ed", "ir_name": "PREPEND_INLINE_PAYLOAD", "opcode_or_lane": "inline payload substage", "payload_shape": "caller-owned blob copied into context +0x102 buffer", "evidence": "000d:21ed prepends caller bytes into backward-growing context buffer before metadata-driven follow-on work" }, { "stage_address": "000d:22bc", "ir_name": "BUILD_ENTITY_LINK_MATRIX", "opcode_or_lane": "inline payload follow-on stage", "payload_shape": "two signed metadata bytes plus streamed entity/link ids", "evidence": "000d:22bc consumes two signed bytes from +0xd6/+0xd8 and streamed words for repeated entity_link calls" }, { "stage_address": "000d:22bc", "ir_name": "EMIT_OR_PUSHBACK_RESULT", "opcode_or_lane": "inline payload follow-on stage", "payload_shape": "stream writeback filter", "evidence": "000d:23da..2421 pushes back only results without 0x0400 list flag before opcode finish" }, { "stage_address": "000d:2104", "ir_name": "FINALIZE_MIXED_VALUE_TO_OUTPTR", "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", "payload_shape": "mixed immediate/object scalar return", "evidence": "000d:2104 writes either frame-local dword or object word with high word cleared to caller out-ptr" } ], "slot_taxonomy": { "slot": 10, "event_name_hint": "equip" } } } script NPCTRIG.equip (entry=191, class_id=0x0363, slot=0x0A) { body_range 0x00DA..0x024F raw_event_word 0x0175 raw_code_offset 0x00000001 end_reason debug_symbols_then_end locals { [BP+00h] referent ; type=0x69 ('i') unk1=0x01 unk3=0x00 [BP+0Ah] event ; type=0x69 ('i') unk1=0x00 unk3=0x00 [BP-02h] item ; type=0x24 ('$') unk1=0x00 unk3=0x02 [BP-04h] item2 ; type=0x24 ('$') unk1=0x00 unk3=0x02 [BP-06h] n ; type=0x24 ('$') unk1=0x00 unk3=0x02 } entry: init locals 0x06 ; 00DA: 5a06 symbol_info NPCTRIG -> 0x0143 ; 00DC: 5c3e014e5043545249470000 push 0x0211 ; 00E8: 0b1102 push [BP+06h] ; 00EB: 4006 push_indirect size=0x2 ; 00ED: 4c02 set_info ; 00EF: 77 process_exclude ; 00F0: 78 line 32 ; 00F1: 5b2000 line 31 ; 00F4: 5b1f00 push [BP+06h] ; 00F7: 4006 call intrinsic 0x0004 Item::getStatus(void) args=0x04 ; 00F9: 0f040400 add_sp value_u8=0xFC ; 00FD: 6efc push_retval_word ; 00FF: 5e line 32 ; 0100: 5b2000 push 0x1000 ; 0103: 0b0010 bit_and ; 0106: 39 if pop() != 0 goto block_0110 ; 0107: 510600 block_010A: line 33 ; 010A: 5b2100 goto block_0219 ; 010D: 520901 block_0110: line 36 ; 0110: 5b2400 push 0x1000 ; 0113: 0b0010 push [BP+06h] ; 0116: 4006 call class 0x0A1E.slot 0x23 ; 0118: 111e0a2300 add_sp value_u8=0xFA ; 011D: 6efa push [BP+0Ah] ; 011F: 3f0a push 0x01 ; signed 1 ; 0121: 0a01 cmp ; 0123: 24 if pop() != 0 goto block_014E ; 0124: 512700 block_0127: line 44 ; 0127: 5b2c00 push_pid ; 012A: 59 push 0x02FD ; 012B: 0bfd02 push [BP+06h] ; 012E: 4006 spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 0130: 57020263032000 add_sp value_u8=0xFE ; 0137: 6efe push_retval_word ; 0139: 5e implies arg0=0x1 arg1=0x1 ; 013A: 540101 pop_temp ; 013D: 12 suspend ; 013E: 53 symbol_info NPCTRIG -> 0x0143 ; 013F: 5cdb004e5043545249470000 goto block_020A ; 014B: 52bc00 block_014E: push [BP+0Ah] ; 014E: 3f0a push 0x02 ; signed 2 ; 0150: 0a02 cmp ; 0152: 24 if pop() != 0 goto block_017D ; 0153: 512700 block_0156: line 49 ; 0156: 5b3100 push_pid ; 0159: 59 push 0x0384 ; 015A: 0b8403 push [BP+06h] ; 015D: 4006 spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 015F: 57020263032000 add_sp value_u8=0xFE ; 0166: 6efe push_retval_word ; 0168: 5e implies arg0=0x1 arg1=0x1 ; 0169: 540101 pop_temp ; 016C: 12 suspend ; 016D: 53 symbol_info NPCTRIG -> 0x0143 ; 016E: 5cac004e5043545249470000 goto block_020A ; 017A: 528d00 block_017D: push [BP+0Ah] ; 017D: 3f0a push 0x03 ; signed 3 ; 017F: 0a03 cmp ; 0181: 24 if pop() != 0 goto block_01AC ; 0182: 512700 block_0185: line 54 ; 0185: 5b3600 push_pid ; 0188: 59 push 0x0371 ; 0189: 0b7103 push [BP+06h] ; 018C: 4006 spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 018E: 57020263032000 add_sp value_u8=0xFE ; 0195: 6efe push_retval_word ; 0197: 5e implies arg0=0x1 arg1=0x1 ; 0198: 540101 pop_temp ; 019B: 12 suspend ; 019C: 53 symbol_info NPCTRIG -> 0x0143 ; 019D: 5c7d004e5043545249470000 goto block_020A ; 01A9: 525e00 block_01AC: push [BP+0Ah] ; 01AC: 3f0a push 0x04 ; signed 4 ; 01AE: 0a04 cmp ; 01B0: 24 if pop() != 0 goto block_01DB ; 01B1: 512700 block_01B4: line 59 ; 01B4: 5b3b00 push_pid ; 01B7: 59 push 0x04D1 ; 01B8: 0bd104 push [BP+06h] ; 01BB: 4006 spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01BD: 57020263032000 add_sp value_u8=0xFE ; 01C4: 6efe push_retval_word ; 01C6: 5e implies arg0=0x1 arg1=0x1 ; 01C7: 540101 pop_temp ; 01CA: 12 suspend ; 01CB: 53 symbol_info NPCTRIG -> 0x0143 ; 01CC: 5c4e004e5043545249470000 goto block_020A ; 01D8: 522f00 block_01DB: push [BP+0Ah] ; 01DB: 3f0a push 0x05 ; signed 5 ; 01DD: 0a05 cmp ; 01DF: 24 if pop() != 0 goto block_020A ; 01E0: 512700 block_01E3: line 64 ; 01E3: 5b4000 push_pid ; 01E6: 59 push 0x01B4 ; 01E7: 0bb401 push [BP+06h] ; 01EA: 4006 spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01EC: 57020263032000 add_sp value_u8=0xFE ; 01F3: 6efe push_retval_word ; 01F5: 5e implies arg0=0x1 arg1=0x1 ; 01F6: 540101 pop_temp ; 01F9: 12 suspend ; 01FA: 53 symbol_info NPCTRIG -> 0x0143 ; 01FB: 5c1f004e5043545249470000 goto block_020A ; 0207: 520000 block_020A: line 69 ; 020A: 5b4500 push 0x1000 ; 020D: 0b0010 push [BP+06h] ; 0210: 4006 call class 0x0A1E.slot 0x24 ; 0212: 111e0a2400 add_sp value_u8=0xFA ; 0217: 6efa block_0219: line 71 ; 0219: 5b4700 return ; 021C: 50 }