1473 lines
34 KiB
Text
1473 lines
34 KiB
Text
|
|
{
|
||
|
|
"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
|
||
|
|
|
||
|
|
}
|
||
|
|
|