Crusader_Decomp/USECODE/REGRET/REGRET_USECODE_extracted/readable_script_ir.md
2026-03-26 00:37:17 +01:00

4.1 KiB

Readable Script IR

This report joins descriptor neighborhoods to the verified 000d VM/runtime lane. It stays conservative: opcode-family and mask-family evidence is carried forward only where the binary proves it.

Verified Runtime Lane

  • Owner path: entity_vm_runtime_init_from_path_if_configured -> entity_vm_runtime_create -> entity_vm_runtime_owner_resource_create
  • Slot source: (+0x10/+0x12) + 0x0d*slot + 4 inside the runtime owner/resource object
  • Context seed: entity_vm_context_create_from_slot_index copies that source into +0xd6/+0xd8 and mirrors it to 0x39ca[slot]
  • Selector status: 0x19/0x1a/0x1b are proven inside 000d:0988; 0x18 is still implied, and the upstream seed into [BP-0x32] remains unresolved

Verified VM IR Operators

Stage IR Opcode / Lane Payload Shape
000d:0988 APPEND_UNIQUE_INLINE opcode 0x18 (implied sibling) inline referent-chain payload
000d:0988 APPEND_UNIQUE_INDIRECT opcode 0x19 indirect/string-like referent-chain payload
000d:0988 REMOVE_MATCHING_INDIRECT opcode 0x1a indirect/string-like referent-chain payload
000d:0988 REMOVE_MATCHING_INLINE opcode 0x1b inline referent-chain payload
000d:177c PUSH_FRAME_WORD_LITERAL same FUN_000d_ebe3 sequencer family word scalar pushed to stream stack
000d:1acb COMPARE_STREAM_DWORD_AND_PUSH_BOOL same FUN_000d_ebe3 sequencer family stream dword pair consumed, predicate word emitted
000d:208b MATERIALIZE_OR_FORWARD_VALUE slot-backed context consumer materialized slot value or forwarded object result
000d:21ed PREPEND_INLINE_PAYLOAD inline payload substage caller-owned blob copied into context +0x102 buffer
000d:22bc BUILD_ENTITY_LINK_MATRIX inline payload follow-on stage two signed metadata bytes plus streamed entity/link ids
000d:22bc EMIT_OR_PUSHBACK_RESULT inline payload follow-on stage stream writeback filter
000d:2104 FINALIZE_MIXED_VALUE_TO_OUTPTR same FUN_000d_ebe3 sequencer family mixed immediate/object scalar return

Verified Mask Ladder

Wrapper Mask Caller Anchor Descriptor Bias
0005:27a4 0x0001:0000 000c:a09e entity +0x5b bit 0x0004 branch generic active-event-biased lane; no direct class-id bridge
0005:2867 0x0002:0001 stores result into entity field +0x39 active-event ecosystem bias stronger than referent-anchor bias
0005:2ae2 0x0004:0002 same verified local mask ladder around entity_vm_context_try_create_masked_for_entity active-event ecosystem bias stronger than referent-anchor bias
0005:2c9b 0x0010:0004 direct callers at 0005:5946 and 0005:59e9 active-event ecosystem bias stronger than referent-anchor bias
0005:2918 0x0020:0005 +0x3c == 0x20b object lane, carries caller fields +0x36/+0x38 candidate active-event field bridge; still not descriptor-specific
0005:2c06 0x0200:0009 direct caller anchor at 0005:0292 active-event ecosystem bias stronger than referent-anchor bias
0005:2c35 0x0400:000a xref-dark signed slot-offset wrapper forwarding context +0x34 offset-specialized masked context creation; descriptor family unresolved
0005:2c68 0x0800:000b xref-dark signed slot-offset wrapper forwarding context +0x34 offset-specialized masked context creation; descriptor family unresolved
0005:2cd2 0x1000:000c direct caller anchor at 0005:0fee active-event ecosystem bias stronger than referent-anchor bias
0004:f05c 0x2000:0015 0004:f2b3 overlap/proximity branch with entity byte +0x32 state checks gameplay-state lane feeding runtime materialization, not direct descriptor switch
0005:2d01 0x4000:000e direct callers at 0007:814e and 0007:822e active-event ecosystem bias stronger than referent-anchor bias
0004:f033 0x8000:0007 local wrapper seed recovered from direct instruction evidence gameplay-side materialization lane; still descriptor-agnostic
0005:2d30 0x8000:000f entity id/class flag gate plus 0x0f16 / 0x20f dispatch-entry emission path strongest current active-event ecosystem candidate in the ladder